我有两个包裹; pack1和pack2。 在pack1中,我有两个类,主要叫做Prog,另一个叫做ClassA。 在pack2中,我有一个名为ClassB的类。
我试图理解为什么我无法使用该对象从ClassB调用方法。 我可以使用主类,但不能使用其他类。
以下是代码:
package pack1;
import pack2.ClassB;
public class Prog {
public static void main(String[] args){
}
}
ClassA代码
package pack1;
import pack2.ClassB;
public class ClassA {
ClassB o3 = new ClassB();
// Error won't compile
System.out.println(o3.getText());
}
ClassB代码:
package pack2;
public class ClassB {
final String TEXT = "This is a text";
public String getText(){
return TEXT;
}
}
答案 0 :(得分:2)
这里的问题不是您无法访问该方法。问题是语句必须包含在构造函数,amethod声明或初始化块中。所以这将是有效的代码,例如:
enter codepackage pack1;
import pack2.ClassB;
public class ClassA {
ClassB o3 = new ClassB();
public void someMethod(){
System.out.println(o3.getText());
}
}