从不同的包JAVA调用方法

时间:2016-02-07 02:11:55

标签: java packages

我有两个包裹; 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;
    }
}

1 个答案:

答案 0 :(得分:2)

这里的问题不是您无法访问该方法。问题是语句必须包含在构造函数,amethod声明或初始化块中。所以这将是有效的代码,例如:

enter codepackage pack1;
import pack2.ClassB;

public class ClassA {
    ClassB o3 = new ClassB();

    public void someMethod(){
        System.out.println(o3.getText());
    }
}