Java三个修饰符

在Java中,修饰符用于限定类、属性、方法的访问权限或特性,主要分为访问修饰符和非访问修饰符。以下是最常用的三类修饰符及其作用:
 
一、访问修饰符(控制访问范围)
 
1.  public (公共修饰符)
- 作用:被修饰的成员(类、属性、方法)可在任何包、任何类中访问。
- 示例:
public class PublicClass {
    public int publicField;
    public void publicMethod() {}
}
 
2.  private (私有修饰符)
- 作用:仅在当前类内部可访问,外部类无法直接调用(通常用于封装属性)。
- 示例:
class PrivateDemo {
    private String privateName;
    private void privateMethod() {}
}
 
3.  protected (受保护修饰符)
- 作用:在同一包内或子类中可访问(跨包时仅子类能访问)。
- 示例:
package base;
public class ProtectedParent {
    protected void protectedMethod() {}
}
 
 
package sub;
import base.ProtectedParent;
class ProtectedChild extends ProtectedParent {
    public void callParentMethod() {
        protectedMethod(); // 子类可跨包访问
    }
}
 
 
二、非访问修饰符(控制行为或特性)
 
1.  static (静态修饰符)
- 作用:修饰的成员(属性、方法)属于类本身,而非实例对象,可通过 类名.成员 直接访问。
- 特点:
- 静态属性:所有对象共享同一值,如 static int count = 0 。
- 静态方法:不能直接访问非静态成员,常用于工具类(如 Math.sqrt() )。
- 示例:
class StaticDemo {
    static int staticCount;
    static void staticMethod() {
        System.out.println("静态方法:" + staticCount);
    }
}
// 调用方式:StaticDemo.staticMethod();
 
2.  final (最终修饰符)
- 作用:
- 修饰类:类不能被继承(如 String 类)。
- 修饰方法:方法不能被重写。
- 修饰变量:变量成为常量,值不可修改(如 final int PI = 3.14; )。
- 示例:
final class FinalClass { // 不可继承
    final void finalMethod() {} // 不可重写
}
 
3.  abstract (抽象修饰符)
- 作用:
- 修饰类:抽象类不能被实例化,需子类继承并实现其抽象方法。
- 修饰方法:抽象方法仅有声明,没有实现(需用 abstract 关键字声明)。
- 示例:
abstract class AbstractClass {
    abstract void abstractMethod(); // 抽象方法
    void normalMethod() {} // 普通方法
}
class ConcreteClass extends AbstractClass {
    @Override
    void abstractMethod() { // 必须实现抽象方法
        System.out.println("实现抽象方法");
    }
}
 
 
三、其他常见修饰符(补充)
 
-  synchronized (同步修饰符):用于方法或代码块,确保多线程环境下的线程安全。
-  transient (瞬态修饰符):修饰的属性在对象序列化时被忽略,不参与数据持久化。
-  volatile (易变修饰符):保证多线程环境下变量的可见性,禁止指令重排序(常用于标记共享变量)。
 
总结
 
修饰符的核心作用是控制访问范围和定义成员特性,合理使用可提升代码的封装性、安全性和灵活性。例如:
 
- 用 private 封装属性,通过 public 方法暴露接口;
- 用 static 优化工具类方法的调用方式;
- 用 abstract 和 final 构建类的继承体系和限制扩展边界。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值