从另一个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的自动加载器的类加载器机制。 这意味着你不需要像includerequire函数那样的东西:只要你使用的类在“类路径”上就可以找到它们。

有些人会说你必须使用import语句 。 这不是真的; import只会为您提供一种使用短名称引用类的方法,这样您就不必每次都重复包名。

例如,使用ArrayListDate类的程序中的代码可以这样写:

 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());