第二章------运算符 修饰符

Java 修饰符

Java语言提供了很多修饰符,主要分为以下两类:

访问修饰符

非访问修饰符

修饰符用来定义类、方法或者变量,通常放在语句的最前端。我们通过下面的例子来说明:

public class className {  // ...}

    private boolean myFlag;

    public static void main(String[] arguments) {  }// 方法体

访问修饰符:
访问修饰符:
(1)public 可以被所有类访问
(2)protected 可以被自己类修改和访问
(3)default 同一包可以访问,声明是没加修饰符
(4)private 只能被自己类访问

修饰符 类内部 本包 子类 外不包
public
protected ×
default × ×
private × × ×

非访问控制符:

(1)friendly,(默认的修饰符),只有在相同包中的对象才能使用这样的类。(类缺省访问控制符:如果一个类没有访问控制符,说明它具有缺省的访问控制符特性。此时,这个类只能被同一个包中的类访问或引用。

这一访问特性又称为包访问性。)

(2)final,(最终修饰符),将一个类生命为最终(即非继承类),表示他不能被其他类继承。

(3)static(静态修饰符)指定变量被所有对象共享,即所有实例都可以使用该变量。变量属于这个类。(:用修饰符 static 修饰的方法称为静态方法。静态方法是属于整个类的类方法;而不使用static 修饰、限定

的方法是属于某个具体类对象的方法。 由于 static方法是属于整个类的,所以它不能操纵和处理属于某个对象的成员变量,而只能处理

属于整个类的成员变量,即 static 方法只能处理 static的域。)

(4)transient(过度修饰符)指定该变量是系统保留,暂无特别作用的临时性变量(暂时性域修饰符 transient 用来定义一个暂时性变量。其特点是:用修饰符transient 限定的暂时性变量,将指定 Java虚拟机认定该暂时性变量不属于永久状态,以实现不同对象的存档功能。否则,类中所有变量都是对象的永久状态的一 部分,存储对象时必须同时保存这些变量。)

(5)volatile(易失修饰符)指定该变量可以同时被几个线程控制和修改。(易失 ( 共享 ) 域修饰符 volatile是用来说明这个成员变量可能被几个线程所控制和修改。也就是说 在程序运行过程中,这个成员变量有可能被其它的程序影响或改变它的取值。通常 volatile 用来修饰接受外部输入的域。)

(6)synchronize,(同步修饰符),在多个线程中,该修饰符用于在运行前,对他所属的方法加锁,以防止其他线程的访问,运行结束后解锁。

(7)native,(本地修饰符)。指定此方法的方法体是用其他语言在程序外部编写的。

(8)abstract (抽象方法控制符)用修饰符 abstract 修饰的方法称为抽象方法。抽象方法仅有方法头,没有方法体和操作实现。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容