我写了一个普通的课程
public class TestAccess {
}
class T{
private int i=0;
int j=0;
protected int k=0;
public int m=0;
}
class TT
{
public void m(){
T t= new T();
t.j=9;
}
}
然后我在另一个类
的同一目录中访问它 public class TestProtected extends T
{
public void method(){
System.out.println(k);
}
public static void main(String[] args)
{
System.out.println("HW!");
}
}
但是当我在第二课中使用包时,访问类T会出错;
package m;
public class TestProtected extends T
{
public void method(){
System.out.println(k);
}
public static void main(String[] args)
{
System.out.println("Hello World!");
}
}
你们能告诉我如何在m包中访问T类吗?
这里的问题与公众没有关系,我试过,更一般的,如果你只有T类而不是它的java代码怎么办?情况是您可以在没有包的情况下访问T类,但是无法使用包访问它。
答案 0 :(得分:0)
你应该让你的班级T
公开。否则,它在不同包中的类不可见。
您必须将T
移动到单独的文件中,因为您不能在同一个文件中拥有多个顶级公共类。
最后,位于pacakge TestProtected
的{{1}}课程应导入m
课程。