Pack.java导入pack.TestPack;但它无法访问它。我不明白为什么它尽管导入仍然无法访问该类。
错误
Pack.java:7: TestPack() is not public in pack.TestPack; cannot be accessed from outside package
System.out.println(new TestPack().getHello());
^
1 error
Pack.java
import pack.TestPack;
import java.io.*;
public class Pack
{
public static void main(String[] args){
System.out.println(new TestPack().getHello());
}
}
TestPack.java
package pack;
import java.util.*;
import java.io.*;
public class TestPack
{
private String hello="if you see me, you ar inside class TestPack";
public String getHello(){return hello;}
TestPack(){}
}
最佳答案
您应该公开TestPack的构造函数。
public class TestPack
{
private String hello="if you see me, you ar inside class TestPack";
public String getHello(){return hello;}
public TestPack(){}
}
事实是,即使TestPack可见性是公共的,其无参数构造函数的可见性也是
package
(这是您未明确指定一个的可见性)。package
可见性意味着同一包中的类将能够看到它。由于TestPack和Pack不在同一个程序包中,因此Pack无法调用TestPack的构造函数。