现在我正在为OCJP/SCJP考试做好自己的准备。我正在通过我的所有程序在同一包装中编译两个班级
命令行。我只是发现一个问题。
我有两个类Class1和Class2。两者都在pack1中。
package pack1;
public class Class1
{
int var1 = 1;
private int var2 = 2;
public int var3 = 3;
protected int var4 = 4;
}
我可以从pack1直接编译这个类。
二等
package pack1;
public class Class2 extends Class1
{
public void accessVars()
{
System.out.println(var1);
System.out.println(var2);
System.out.println(var3);
System.out.println(var4);
}
public static void main(String args[])
{
Class2 c = new Class2();
c.accessVars();
}
}
我不能编译从PACK1目录此类。我得到“无法找到Class1的符号错误”,但我可以通过导入pack1.Class1从外部编译它;
我知道这是为什么发生,但我检查了NetBeans,他们可以在没有导入的情况下编译类。怎么样 ?我应该做些什么来编译它从pack1目录。
感谢, Kshitij
工作。你能用两三行来解释吗? – KSHiTiJ
我已经编辑了相应的答案并添加了一些参考链接 –
请删除上面的代码class1和class2代码。我已经知道私人,公共,受保护和默认的区别。我的错误只涉及编译。你解决它并解释它。请在我接受你的回答后删除它。 – KSHiTiJ