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

Java 访问控制符 修饰符 详解

2011-08-05 22:26 274 查看
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 多线程锁锁机制支持
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: