包编译问题?--》高手请进,许多人都没帮我解决这个问题?
主类:
程序代码://package org.lxh.demo03; import org.lxh.demo02.*; public class OODemo05 { public static void main(String []args){ new DemoD(); //DemoC dc=new DemoC(); //System.out.println(dc.info); } }C类:
程序代码:package org.lxh.demo01;
public class DemoC
{
protected String info="ss-->cay";
}D类
程序代码:package org.lxh.demo02;
import org.lxh.demo01.*;
public class DemoD extends DemoC
{
public DemoD(){
System.out.println("** INFO = "+super.info);
}
}为什么编译时会出错但是去掉主类中的最前面的
package org.lxh.demo03;语句前面的注释能正常编译且能得到正确的结果。
但是我的问题是为什么要加这句,不加道里也说的通啊,也应该能得到正确的结果啊,但是我编译的时候会出错?
我这样分析的:因为DemoD是public,所以能够访问,而DemoD类也是能够访问DemoC类的protected属性的,因为他们是子类与父类的关系。
求高手能够帮我解决下?
[ 本帖最后由 E_xuan 于 2009-9-25 14:56 编辑 ]








