从另一个java类调用静态方法
我最近从使用PHP转向Java并进行了查询。 想强调我是Java的初学者。
基本上我正在使用文件A(使用类A)并且想要引用保存在文件B(类B)中的静态方法。 在使用A类时,是否需要对文件B进行任何引用? (我在思考PHP中的require_once)我在A类中的代码如下:
Public class A{ String[] lists = B.staticMethod(); }
Eclipse没有将B识别为类。 我是否需要创建B的实例才能访问静态方法。 感觉我真的忽略了什么,并会欣赏任何输入。
确保您可以正确访问B.staticMethod。 也许宣布为
public static String[] staticMethod() { //code }
此外,您需要导入B类
import foo.bar.B; // use fully qualified path foo.bar.B public class A { String[] lists = B.staticMethod(); }
您不需要创建类的实例来调用静态方法,但您需要导入该类。
package foo; //assuming B is in same package import foo.B; Public class A{ String[] lists = B.staticMethod(); }
Java具有类似于PHP的自动加载器的类加载器机制。 这意味着你不需要像include
或require
函数那样的东西:只要你使用的类在“类路径”上就可以找到它们。
有些人会说你必须使用import
语句 。 这不是真的; import
只会为您提供一种使用短名称引用类的方法,这样您就不必每次都重复包名。
例如,使用ArrayList
和Date
类的程序中的代码可以这样写:
java.util.ArrayList list = new java.util.ArrayList<>(); list.add(new java.util.Date());
一段时间后重复包名称会很累,所以我们可以使用import
来告诉编译器我们想通过它们的短名称来引用这些类:
import java.util.*; .... ArrayList list = new ArrayList<>(); list.add(new Date());