Java修饰符概述

首先

Java的修饰符(modifiers)被用于修改类、方法或变量的行为。理解修饰符将有助于阅读和编写Java代码。本次将解释Java的主要修饰符及其使用示例。

访问修饰符

在Java中,有四种访问修饰符。

    1. public: 任何类都可以访问。

 

    1. private: 只有同一类内可以访问。

 

    1. protected: 只有同一包或子类可以访问。

 

    默认(未指定):只有同一包内可以访问。
public class MyClass {
    public int publicVar = 1;
    private int privateVar = 2;
    protected int protectedVar = 3;
    int defaultVar = 4;
}

非访问修饰符

类修饰符

    1. 最终:无法创建子类。

抽象:无法实例化,必须具有一个或多个抽象方法。

strictfp:保证该类中的所有方法和内部类的浮点精度是确定的。

public final class MyFinalClass { }
public abstract class MyAbstractClass {
    public abstract void myMethod();
}
public strictfp class MyStrictfpClass { }

方法修饰符 (Method Modifier)

    1. final: 禁止方法重载方法。

 

    1. static: 类方法而不是实例方法。

 

    1. abstract: 方法没有主体,需要在子类中重写。

 

    1. synchronized: 保证多个线程不能同时访问。

 

    1. native: 使用非Java语言编写的代码。

 

    strictfp: 保证方法中浮点精度固定。
public class MyClass {
    public final void finalMethod() { }
    public static void staticMethod() { }
    public abstract void abstractMethod();
    public synchronized void syncMethod() { }
    public native void nativeMethod();
    public strictfp void strictMethod() { }
}

字段(变量)修饰符

    1. 最终:值只能被设置一次,不能重新分配。

静态:将其作为属于类本身而不是实例的字段。

瞬态:在对象序列化时,此字段将被忽略。

易失:此字段始终从主内存中读取,并且在线程之间保证同步。

public class MyClass {
    public final int finalVar = 1;
    public static int staticVar = 2;
    public transient int transientVar = 3;
    public volatile int volatileVar = 4;
}
bannerAds