java作用域-转

时间:2024-03-26 15:35:26

java中,针对不同的修饰词,类及其类中的方法、域都有不同的可见性。以下为针对java中可见性的几点总结。

1.java中的默认包(这个包是没有名称的),对于任何修饰词来说,其中的内容只能对其包内类为可见。
2.对于java中的非默认包中的内容,各修修饰词及其可见性如下表:
作用域  当前类 同一package 子孙类  其他package
public √     √     √     √    
protected  √     √     √     ×  
default(无修饰词) √     √     ×   × 
private √     ×   ×   ×  

对上表有几点说明:对于default类型修饰词,如果其子孙类与父类如果是位于同一个包内,则子孙类中的方法可以访问无修饰词修饰的父类方法;如果子孙类与父类是位于不同的包内,则子孙类中的方法无法访问父类中的无修饰词修饰的父类方法。对于protected类型修饰词,则子孙类可以访问父类中的protected方法,而其它类则不行。上面提到的父类都是public。

转自:http://blog.sina.com.cn/s/blog_4bd04f990100v71w.html