我们在一个包中创建一个java类。例子
package p1;
class protection{
int a=2;
}
然后我们保存这个。用protection.java编译这个类很容易编译 - 没有错误。然后我们在同一个packge中创建其他类并扩展类保护并使用derived.java示例保存它
package p1;
class derived extends protection{
derived(){
System.out.println(a);
}
}
但是当我们编译时出现错误:
“没有找到班级保护”
并且不接受整数a; 但在书中写“同一包中的子类访问成员”。但这不是编译而不是访问该类。我们如何做到这一点。如果你知道的话请帮助我..
答案 0 :(得分:2)
如果在编译时已经在p1中,则在p1 / p1 /中搜索另一个类,因为第一个p1是当前目录。
javac -cp .. derived.java
应该这样做。
更好,更明确的想法是
cd ..
javac p1/derived.java
然后'派生'和'保护'一起生活紧密和平和。