我想知道是否有办法从另一个以包私有类作为参数的包中调用静态方法?这是将 MessagePackagePrivate 类移动到另一个 .java 文件并将其公开的唯一方法吗?如果我不这样做,它会给出这个错误:“MessagePackagePrivate 类型不可见”,这是正常的。
因此,如果是这种情况,即使您的类公开了要公开使用的静态方法,如果不在同一个包中调用该类,也不能使用该类?
这是代码片段:
主类.java
package packageA;
import packageB.*;
public class MainClass {
public static void main(String[] args) {
ClassB.printString(new MessagePackagePrivate("Package problem"), 12);
}
}
ClassB.java
package packageB;
public class ClassB {
public static void printString( MessagePackagePrivate message , int numbers) {
System.out.println(message.getMessage() + " numbers: " + numbers );
// other logics will be implemented here ...
}
}
class MessagePackagePrivate {
private String text;
MessagePackagePrivate(String text) {
this.text = text;
}
public String getMessage() {
return this.text;
}
}