本帖最后由 顾传文 于 2013-3-19 21:42 编辑
1. 外部类class的访问权限修饰符:外部类只能用访问权限修饰符public修饰或不加任何访问权限修饰符。 2. 局部变量的访问权限修饰符:局部变量不能被任何访问权限修饰符修饰,因为局部变量的作用范围就是局部,用访问权限修饰符修饰没有任何意义。 public class Test{ void doSomething(){ private String s = "abc";//编译不通过(不能用访问权限修饰符修饰) int i = s.length(); }} |
3. 访问修饰符的作用域 作用域 | 当前类 | 同一package | 子类 | 其他package | Public | √ | √ | √ | √ | Protected | √ | √ | √ | × | package-private(default) | √ | √ | × | × | private | √ | × | × | × |
4. Protected注意事项。(protected的意思是本包可以访问,子类可以继承) package A; public class Fu { protected void show(){ System.out.println("父类show方法"); }
} | package B;//其它包 import A.Fu; public class Zi extends Fu{ public static void main(String[] args) { Fu fu = new Fu(); fu.show();//编译不通过,在其它包中无法访问。 Zi zi = new Zi(); zi.show();//编译通过,子类可以继承。 Fu fu2 = new Zi(); fu2.show();//编译不通过,多态中调用方法时,编译时看左边。 } } |
|