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行为什么错误?
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行为什么错误?
大多都是为了留给子类复写的属性或者方法,而不能从外部来访问的数据
你在不同包中直接用子类对象来调用。就像下面第6行那样。