1、访问修饰符

修饰符

说明

public

对所有类可见。使用对象:类、接口、变量、方法

protected

对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)。

default

即默认,什么也不写;在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。

private

私有;在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

修饰符

当前类

同一包内

父子类/不同包

其他类

public

protected

√/×

×

default

×

×

private

×

×

×

2、非访问修饰符

2.1 static 修饰符

  • 静态变量:static 关键字用来声明独立于对象的静态变量,无论一个类实例化多少对象,它的静态变量只有一份拷贝。 静态变量也被称为类变量。局部变量不能被声明为 static 变量。

  • 静态方法:static 关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。静态方法从参数列表得到数据,然后计算这些数据。

2.2 final 修饰符

  • final在变量中:
    final 表示"最后的、最终的、最底层"含义,变量一旦赋值后,不能被重新赋值。被 final 修饰的实例变量必须显式指定初始值。final 修饰符通常和 static 修饰符一起使用来创建类常量。

  • final在方法中:
    父类中的 final 不能被继承,不能被子类重写,不能改变值。声明 final 方法的主要目的是防止该方法的内容被修改。

2.3 abstract 抽象修饰符

  • 在父类中抽象方法不可以写方法体,子类可以引用父类抽象方法,但需要在子类重写方法体,实际操作中用于规范书写。

  • 抽象方法不能被声明成 final 和 static

2.4 synchronized 修饰符

  • synchronized 关键字声明的方法同一时间只能被一个线程访问。synchronized 修饰符可以应用于四个访问修饰符。

2.5 transient 修饰符

  • 序列化的对象包含被 transient 修饰的实例变量时,java 虚拟机(JVM)跳过该特定的变量。修饰符包含在定义变量的语句中,用来预处理类和变量的数据类型。

2.6 volatile 修饰符

文章作者: pymdv
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 屠龙少年
Java手记 修饰符
喜欢就支持一下吧