举例:Person.java
public class Person {
protected int i = 100;
}
Person1.java
package m;
public class Person1 extends Person {
public void method() {
System.out.println(i);
}
}
说明:Person1.java被放入m这个包中(package m),Person.java是个裸体类。在Person1.java中想访问Person.java中的变量i.
出现的问题:编译javac Person1.java时,总提示找不到符号(即找不到Person类,也找不到变量i)。在classpath环境变量配置正确的情况下,javac Person1.java
均不能正确编译通过。但如果将父类Person.java放入一个包中,在子类Person1.java中导入父类Person,则javac Person1.java则可以编译通过。举例如下:
Person.java
package mm;
public class Person {
protected int i = 100;
}
Person1.java
package m;
import mm.Person;
public class Person1 extends Person {
public void method() {
System.out.println(i);
}
}
原因:java1.4以后,对于被放入包中的非裸体类,不再允许再在该类中引入非裸体类,即Person1.java中不可能再访问裸体类Person.java,所以我们还是只好将Person.java放入一个包中,再在Person1.java中导入Person类即可。
这个问题只能暂时这样解决了,如果还有大神知道怎么引入裸体类,请指教哈……