【发布时间】:2017-08-22 18:09:16
【问题描述】:
既然子类可以访问父类定义为受保护的变量和方法,为什么下面的代码会出现编译错误?
public class Animal {
protected int var;
public void eat() {
System.out.println("Animal eating");
}
}
class Dog extends Animal {
Animal an = new Animal();
an.var = 10;
}
【问题讨论】:
-
编译错误是什么?
-
因为你在方法之外
-
提示:即使你删除
protected,你仍然会得到错误。
标签: java inheritance access-modifiers