下列子类D中为什么c.year不可见?package a.b;public class C
{
protected int year = 2010;
}
package a.b.bb;import a.b.C;public class D extends C
{
public static void main(String[] args)
{
C c = new C();
System.out.println(c.year);
}}
{
protected int year = 2010;
}
package a.b.bb;import a.b.C;public class D extends C
{
public static void main(String[] args)
{
C c = new C();
System.out.println(c.year);
}}
c是一个新对象了
同类,同包,不同包中的子类都是可以访问的D d = new D();
System.out.println(d.year);
这样就可以了。
public class D extends C
{
public static void main(String[] args)
{
D d = new D();
System.out.println(d.year);
}}
同一包中的和子类可以访问
C c = new C();不属于其子类
你可以在D类中直接使用C类得c.year;