欢迎光临
我们一直在努力

Java三个修饰符

一、abstract 抽象修饰符

1. 修饰类(抽象类)

1. 语法:abstract class 类名{},编译后仍生成独立.class文件。

2. 无法直接实例化对象,但可声明引用。

3. 可包含普通成员变量、成员方法,也拥有构造方法(供子类实例化时调用)。

2. 修饰方法(抽象方法)

1. 语法:abstract 返回值 方法名(参数);,只有声明、无方法体。

2. 抽象方法必须定义在抽象类中;抽象类可同时包含抽象方法与普通方法。

3. 继承规则:子类若不为抽象类,必须重写父类所有抽象方法;否则子类也需用abstract修饰。

3. 核心作用

强制代码使用多态特性。

二、static 静态修饰符

1. 修饰属性(静态变量/类变量)

1. 属于整个类,被所有对象共享,和实例对象数量无关。

2. 推荐使用类名.静态变量调用,不建议通过对象调用。

3. 内存位置:存放在方法区,区别于堆内存的实例变量。

2. 修饰方法(静态方法)

1. 调用方式:优先类名.静态方法()。

2. 访问规则:静态方法只能直接访问静态成员,不能直接访问非静态成员;非静态方法可随意访问静态/非静态成员。

3. 限制:静态方法中不能使用this、super;可被继承,无法实现多态。

4. 补充:若要在静态方法中使用非静态成员,可手动创建对象调用。

3. 修饰代码块(静态代码块)

1. 执行时机:类加载时执行,一个类仅执行一次,用于初始化静态属性。

2. 类加载触发场景:首次创建类对象、首次调用类静态成员、子类加载(会优先加载父类)。

3. 执行顺序:父类静态内容 → 子类静态内容 → 父类动态代码块+构造方法 → 子类动态代码块+构造方法。

4. 拓展

可修饰内部类(静态内部类)。

三、final 最终修饰符

1. 修饰变量(常量)

1. 被修饰变量仅能赋值一次,赋值后不可修改。

2. final实例变量:无默认值,可在声明处、构造方法、动态代码块中完成初始化。

3. final静态变量:无默认值,可在声明处、静态代码块中完成初始化。

4. 修饰引用类型:对象地址不可修改,对象内部属性仍可修改。

2. 修饰方法

方法可被子类继承,但禁止子类重写。

3. 修饰类

类无法被继承,没有子类。常见示例:String、System、Math。

赞(0)
未经允许不得转载:171主机测评 » Java三个修饰符
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址