Chinaunix首页 | 论坛 | 博客
  • 博客访问: 157802
  • 博文数量: 50
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 470
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-10 10:46
文章分类

全部博文(50)

文章存档

2019年(3)

2018年(3)

2017年(2)

2016年(5)

2015年(3)

2014年(1)

2013年(33)

我的朋友

分类: Java

2013-10-30 11:01:55

修饰符使用范围:
一、外部类或外部接口(class、interface):类修饰符只有public、默认。即public class A、class A、public interface B、interface B
二、内部类(class):类修饰符可以为任意。即public class Inner、class Inner、protected class Inner、private class Inner
三、内部接口(interface):
    1、任意外部接口(包括public interface、非public interface)中定义的内部接口修饰符只有public,若不写public则默认的也为public。public interface A{ public B{} }、interface A{  B{} }
    2、任意外部类(包括public class、默认class)中定义的内部接口可以为任意修饰符。
四、实例变量、静态变量、实例方法、静态方法修饰符可以为任意:即public、默认、protected、private
作用范围:
一、外部类或接口可见范围:
1、pulic修饰的外部类或接口对任意类可见
2、默认修饰的外部类或接口只对同一个包下的任意类可见,对包外部的类不可见
二、内部类暂略
三、实例变量、实例方法、静态变量、静态方法
1、同一个包中无论是否为子类:所有实例变量、实例方法、静态变量、静态方法对另一个同一个包中的类可见范围为:public、默认、protected.
2、非同一个包中且非为子类:所有实例变量、实例方法、静态变量、静态方法对另一个不在同一个包中的类的可见范围为:public
3、非同一个包中但为子类:所有实例变量、实例方法、静态变量、静态方法对另一个不在同一个包中的类但是为子类的可见范围为:public、protected

总结:
 实例变量、实例方法、静态变量、静态方法可使用所有的范围修饰符,并且在修饰符的作用下可见范围是一致的:归纳为下表
修饰符\范围 本类 本包 子类 外部包
public 


protected


 
默认


   
private
     

有上表可见修饰符的可见强度为public>protected>默认>private

阅读(3861) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~