JAVA中的修饰符

类修饰符:(指外部类)

public:说明任何类都可以访问到这个类,同时决定源文件名。

friendly:说明只有同包的类能够访问到。包的上一级或者下一级都访问不到,一定是同一级的包。

final:说明该类不能被继承。即密封类或最终类。

abstract :抽象类不能实例化。类中可以有也可以没有抽象方法。

成员变量修饰符:(建立在类能够被访问到的基础上)

private:说明该成员变量只能在自己类中被访问到。

friendly:(即默认,不写的话就是它)说明只能在同包中能访问到该成员变量,并且包含private的访问权限。

protected:说明只有子类可以访问到该成员变量,并且包含friendly的访问权限。

public:说明任何类都能访问到该成员。

final:说明该成员变量值不能变。类似常量。可在声明时、代码块中、构造函数中初始化。

static:说明该成员变量变成了类变量,一个类只此一份被所有对象共有。在类中可以用this访问到,但是不推荐,推荐用类名加点来访问。

transient:说明该变量时瞬时变量,不参与序列化,修饰成员变量时,反序列化后会自动初始化为该类型的0值。

volatile:说明该变量的修改,多个线程可见,防止指令重排。(防止缓存或刷新缓存,括号内的内容并未在书中找到,笔者个人认为)

方法修饰符:

private、friendly、protected、public和成员变量一样。

final:该方法不可以重写,老老实实继承,但是可以别重载。

static:说明该方法变成了类方法。(在类加载时加载,所以可以不实例化就调用)

synchronize:说明该方法为同步方法。同步锁是该方法所处的对象。

native:调用其他语言的方法,整个方法和抽象方法一样,没有方法体。String中的public native String intern();就这么多,没有方法体。

局部变量修饰符:

编辑器这样说:only final is permitted。

posted @ 2019-08-05 14:21  缓步徐行静不哗  阅读(164)  评论(0)    收藏  举报