您的位置:首页 > 编程语言 > Java开发

java 访问控制符 修饰符 详解

2015-02-26 14:48 211 查看
1.接口
接口是描述一个对外公布的方法签名,所有的对象都能访问到,因此它的属性和方
法不能违背接口的这个本质概念。所以接口的属性强制为public static final
修饰的,为常量;接口方法强制为public abstract。任何手动设置这几个修饰符,必
须满足这个条件,如果和这几个修饰符冲突,则报错。如果没有设置其中的一个或多个
修饰符,它的修饰符也是这几个。也就是说,无认你怎么设置,只要没报错,那么最终
,接口的属性都是由public static final修饰,方法都是由public abstract修饰。
接口是为了给别的具体类来实现的,它是对方法集合的一种抽象。因此接口本身强
制被abstract修饰。无论你写了还是没写abstract,它都是被abstract修饰的。
接口只允许被public,abstract被用来修饰,public可以没有,则接口的访问属性
为默认default。

2.外部类
如果类中有抽象方法,则这个类必须被声明为抽象类。抽象类不能被实例化。
内部类就和类属性一样,有各种访问控制符。
外部类只允许被public,abstract,final修饰。public可以没有,则外部内的访问
属性是默认default。abstract表示它是一个抽象类,不能被实例化。final表示它是一
个最终类,不能被继承。

3.内部类
可以很好地实现隐藏。外部类,是不允许有private和protected权限的,但内部类
可以。
内部类拥有它所在外部类所有元素的访问权限。
可以实现多重继承(内部类存在的最大理由之一)
可以避免修改接口而实现同一个类中两种同名方法的调用

4.总共有4种访问权限:
作用域: 当前类 同一包 子孙类 其它包
private 是 否 否 否
default 是 是 否 否
protected 是 是 是 否
public 是 是 是 是

4.其它
接口和外部类只有两种访问权限:public,default。任何不是这两种访问属性的都
报错。
变量允许的修饰符:public,protected,private,static,final,transient,
volatile。
方法允许的修饰符:public,protected,private,abstract,final,static,
synchronized,native。
abstract不能和private,final,static共用,因为它们表示的意义互相矛盾。
主入口函数public static void main(String[] args)除了参数名字可以改之外,
其它都不能更改,否则不是主入口函数,变为普通函数。

static 静态变量
final 不可修改
abstract 抽象
transient 序列化时,告诉编译器此变量不需要持久保存
volatile 保证多线程正确处理此变量
native 修饰的方法在类中没有实现,JNI使用
synchronized 多线程锁锁机制支持
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: