日期:2014-05-20  浏览次数:20722 次

protected 权限问题
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一般就是用来在继承关系里用的
大多都是为了留给子类复写的属性或者方法,而不能从外部来访问的数据