繁体   English   中英

从不同的 package JAVA 调用方法

[英]calling methods from different package JAVA

我有两个包裹; 包 1 和包 2。 在 pack1 中,我有两个类,一个叫做 Prog,另一个叫做 ClassA。 在 pack2 中,我有一个名为 ClassB 的 class。

我试图理解为什么我不能使用 object 从 ClassB 调用方法。 我可以使用主要的 class 做到这一点,但不能使用另一个 class。

这是代码:

package pack1;
import pack2.ClassB;

public class Prog {
    public static void main(String[] args){

    }
}

A 类代码

package pack1;
import pack2.ClassB;

public class ClassA {
    ClassB o3 = new ClassB();
    // Error won't compile
    System.out.println(o3.getText());

}

B类代码:

package pack2;

public class ClassB {
    final String TEXT = "This is a text";

    public String getText(){
        return TEXT;
    }
}

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

enter codepackage pack1;
import pack2.ClassB;

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

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

//这里打包1个代码

package 包1;

导入pack2.ClassB;

class A类{

}

公共 class 编{

public static void main(String[] args) {
// write your code here
    ClassB o3 = new ClassB();
    // Error won't compile
    System.out.println(o3.getText());


}

}

//pack2 code here

package 包2;

public class ClassB { final String TEXT = "这是一个文本";

public String getText() {
    return TEXT;
}

}[不需要创建classA可以直接导入pack2及其class,方法]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM