ClassOne.java
1. package com.abc.pkg1;
2. public class ClassOne {
3. private char var = ‘a’;
4. protected char getVar() {return var;}
5. }
ClassTest.java
1. package com.abc.pkg2;
2. import com.abc.pkg1.ClassOne;
3. public class ClassTest extends ClassOne {
4. public static void main(String[]args) {
5. char a = new ClassOne().getVar();
6. char b = new ClassTest().getVar();
7. }
8. }
classTest中的第5行为什么错误?
------解决方案--------------------
只能通过子类去访问父类的protected属性和方法,也就是说,不能直接创建那个父类的对象去调用父类的protected属性和方法,即使在子类中。
------解决方案--------------------
protected一般就是用来在继承关系里用的
大多都是为了留给子类复写的属性或者方法,而不能从外部来访问的数据