我在包 abc 中有 A 类和 C 类。 A 有一个静态方法 showA()。现在我想在C中使用这个方法,我该怎么做?
package abc;
public class A{
public void static showA()
System.out.println("I am in A");
}
}
package abc;
public class C{
public void static showC(){
A.showA();
System.out.println("I am in C");
}
}
现在编译C时显示找不到变量A。 如何解决这个问题?
最佳答案
您没有提供有关您所做的事情的确切信息,但我担心您正在使用类似的调用来一一编译类
javac abc/A.java
javac abc/B.java
你有两种可能性: 第一个是告诉编译器编译这两个类。这样两个类都会被知道:
javac abc/A.java abc/B.java
另一种可能性是告诉编译器在哪里可以找到所需的类文件。由于 A.Java 被编译为具有相同基目录的 A.class,因此您可以执行以下调用:
javac abc/A.java
javac -cp . abc/B.java
使用 -cp 将本地目录添加到类路径中,以便 A.class 位于类路径上。
关于java - 包中的类如何使用同一包中其他类的静态方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56208197/