-
1 知识要点&讲解
-
2 案例讲解&讨论
-
3 课后练习
【知识要求】
Java 语言中的修饰符(Modifiers)是用来修饰类、方法、变量的关键字,它们可以控制访问权限、行为特性等。修饰符主要分为访问控制修饰符和非访问控制修饰符两大类。
1. 访问控制修饰符
访问控制修饰符用于控制类、方法和变量的可见性,主要包括:
private(私有):仅本类内部可访问,最严格的访问级别,通常用于隐藏数据,保护类的封装性。
default(默认,即不写修饰符):在同一个包内可访问,适用于包级别的共享。
protected(受保护):在同一个包或子类中可访问,主要用于继承时允许子类访问父类的成员。
public(公共):对所有类可访问,最开放的访问级别,通常用于对外提供公共接口的方法和类。
访问级别总结

2. 非访问控制修饰符
非访问控制修饰符用于修改类、方法、变量的特性,主要包括以下几类:
(1)类相关修饰符
final:最终类,不能被继承,常用于定义不可扩展的工具类或安全性较高的类。
abstract:抽象类,不能实例化,通常用于被子类继承,并且包含抽象方法。
(2)方法相关修饰符
final:最终方法,子类不能重写该方法,通常用于防止关键方法被修改。
abstract:抽象方法,只定义方法不提供实现,必须由子类实现,仅能在抽象类中使用。
static:静态方法,属于类级别的方法,而不是实例方法,可以直接通过类名调用。
synchronized:用于线程同步,确保多个线程不会同时执行该方法,防止数据不一致问题。
native:表示该方法是本地方法,通常用于调用 C/C++ 代码。
(3)变量相关修饰符
final:常量,一旦赋值就不能再修改,通常用于定义不可变的数据。
static:类变量,属于类本身,多个对象共享同一份数据,通常用于存储类级别的共享信息。
transient:短暂变量,用于序列化时被忽略,不会被序列化到文件中。
volatile:用于多线程编程,确保变量的可见性,防止线程缓存导致数据不一致。
3. 修饰符组合使用
Java 中可以将多个修饰符组合使用,如:
public static final(常见于定义全局常量)
private static(常见于定义单例模式的实例变量)
protected abstract(常见于父类定义模板方法,要求子类必须实现)
但有些修饰符不能组合使用,例如:
abstract 和 final 不能一起用(因为 final 不能被继承,而 abstract 需要被继承)。
abstract 方法不能是 static(因为 abstract 需要子类实现,而 static 不能被子类重写)。
Java 的修饰符提供了强大的访问控制和功能特性,合理使用修饰符有助于提升代码的安全性、可维护性和扩展性。
【视频讲解】


