Java 修饰符

Java中的修饰符(Modifiers)是用来定义类、方法、变量或接口等成员访问权限及其他特性的关键字。这些修饰符包括访问修饰符(Access Modifiers)、非访问修饰符(Non-access Modifiers)以及专门用于接口的方法修饰符。

访问修饰符(Access Modifiers)

访问修饰符控制对类、变量、方法和构造器的访问。

  1. public:任何地方都可以访问。
  2. protected:同一个包内以及所有子类都可以访问。
  3. default(也称为包访问权限):只有同一个包内的类可以访问。
  4. private:只有声明它的类内部可以访问。

非访问修饰符(Non-access Modifiers)

非访问修饰符用于实现类的不同功能。

  1. static:属于类,被类的所有实例共享。
  2. final:表示这个变量、方法或类不可被修改。对于类,表示该类不能被继承;对于变量,表示该变量的值在初始化后不可变;对于方法,表示该方法不能被重写。
  3. abstract:用于类和方法。对于类,表示该类是抽象类,不能被实例化;对于方法,表示该方法是抽象方法,没有实现体,子类必须实现该方法。
  4. synchronized:确保在同一时刻只有一个线程可以执行某个方法或代码块。
  5. volatile:保证变量对所有线程的可见性,但不保证原子性。
  6. transient:序列化时忽略该字段。
  7. native:表示该方法不是用Java编写的,而是用其他语言实现的,并且被链接到本地代码库。
  8. strictfp:严格浮点运算,确保所有浮点运算都按照IEEE 754标准进行,精确控制浮点运算的结果。

接口方法修饰符

接口中的方法默认是public abstract的,但可以显式地声明它们。在Java 8及更高版本中,接口中可以包含默认方法(使用default关键字)和静态方法(使用static关键字)。

  • default:用于接口中,提供默认实现,允许子类继承接口时不必实现该方法。
  • static:用于接口中,表明该方法属于接口本身,不属于接口的某个实现类。

示例

public class MyClass {  
    private int myNumber; // 私有变量  
  
    public void myMethod() { // 公共方法  
        // 方法体  
    }  
  
    protected void anotherMethod() { // 受保护方法  
        // 方法体  
    }  
  
    static void staticMethod() { // 静态方法  
        // 方法体  
    }  
  
    private final int CONSTANT = 10; // 私有最终变量  
}

在这个例子中,myNumber是一个私有变量,myMethod是一个公共方法,anotherMethod是一个受保护的方法,staticMethod是一个静态方法,而CONSTANT是一个私有最终变量。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值