我最近从使用PHP转向Java并进行了查询。想要强调我是Java的初学者。
基本上我正在使用文件A(使用类A)并且想要引用保存在文件B(类B)中的静态方法。在使用A类时,是否需要对文件B进行任何引用? (我正在思考PHP中的require_once)我在A类中的代码如下:
Public class A{
String[] lists = B.staticMethod();
}
Eclipse没有将B识别为类。我是否需要创建B的实例才能访问静态方法。感觉我真的忽略了什么,并会感激任何意见。
答案 0 :(得分:13)
确保您有权访问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();
}
答案 1 :(得分:1)
您不需要创建类的实例来调用静态方法,但您需要导入该类。
package foo;
//assuming B is in same package
import foo.B;
Public class A{
String[] lists = B.staticMethod();
}
答案 2 :(得分:1)
Java具有类似于PHP的自动加载器的类加载器机制。这意味着您不需要include
或require
函数之类的任何内容:只要您使用的类位于“类路径”上,就可以找到它们。
有些人会说你必须使用import
statement。这不是真的; import
除了给你一个用短名称引用类的方法之外别无他法,所以你不必每次都重复包名。
例如,与ArrayList
和Date
类一起使用的程序中的代码可以这样写:
java.util.ArrayList<java.util.Date> list = new java.util.ArrayList<>();
list.add(new java.util.Date());
一段时间后重复包名称会很累,所以我们可以使用import
告诉编译器我们想通过它们的短名称来引用这些类:
import java.util.*;
....
ArrayList<Date> list = new ArrayList<>();
list.add(new Date());