目录

Java开发常用关键字

Java开发:常用关键字


1. 类相关的关键字

(1) class
  • 作用 :用于定义类。

  • 示例

    class MyClass {
        // 类内容
    }
(2) public
  • 作用 :类可以被任何其他类访问。

  • 示例

    public class MyClass {
        // 类内容
    }
(3) abstract
  • 作用 :类不能被实例化,通常用于定义抽象类。

  • 示例

    public abstract class Animal {
        public abstract void makeSound();  // 抽象方法
    }
(4) final
  • 作用 :类不能被继承。

  • 示例

    public final class MyFinalClass {
        // 类内容
    }
(5) extends
  • 作用 :用于类继承另一个类。

  • 示例

    class Child extends Parent {
        // 类内容
    }
(6) implements
  • 作用 :用于类实现接口。

  • 示例

    class MyClass implements MyInterface {
        // 类内容
    }
(7) sealed (Java 17 引入)
  • 作用 :类可以被继承,但只能被指定的类继承。

  • 示例

    public sealed class Shape permits Circle, Square {
        // 类内容
    }
    
    public final class Circle extends Shape {
        // 类内容
    }
    
    public final class Square extends Shape {
        // 类内容
    }

2. 变量相关的关键字

(1) public
  • 作用 :变量可以被任何其他类访问。

  • 示例

    public int myVar = 10;
(2) protected
  • 作用 :变量可以在同一个类、同一个包以及子类中访问。

  • 示例

    protected int myVar = 20;
(3) private
  • 作用 :变量只能在同一个类中访问。

  • 示例

    private int myVar = 30;
(4) static
  • 作用 :变量属于类级别,而不是实例级别。所有实例共享同一个静态变量。

  • 示例

    public static int myVar = 40;
(5) final
  • 作用 :变量不能被重新赋值(常量)。

  • 示例

    public final int myVar = 50;
(6) volatile
  • 作用 :变量在多线程环境下可见,确保线程安全。

  • 示例

    public volatile int myVar = 60;
(7) transient
  • 作用 :变量不会被序列化。

  • 示例

    public transient int myVar = 70;

3. 方法相关的关键字

(1) public
  • 作用 :方法可以被任何其他类访问。

  • 示例

    public void myMethod() {
        System.out.println("This is a public method.");
    }
(2) protected
  • 作用 :方法可以在同一个类、同一个包以及子类中访问。

  • 示例

    protected void myMethod() {
        System.out.println("This is a protected method.");
    }
(3) private
  • 作用 :方法只能在同一个类中访问。

  • 示例

    private void myMethod() {
        System.out.println("This is a private method.");
    }
(4) static
  • 作用 :方法属于类级别,而不是实例级别。可以通过类名直接调用。

  • 示例

    public static void myMethod() {
        System.out.println("This is a static method.");
    }
(5) final
  • 作用 :方法不能被重写。

  • 示例

    public final void myMethod() {
        System.out.println("This is a final method.");
    }
(6) abstract
  • 作用 :方法没有方法体,必须由子类实现。

  • 示例

    public abstract void myMethod();
(7) synchronized
  • 作用 :方法在同一时间只能被一个线程访问。

  • 示例

    public synchronized void myMethod() {
        System.out.println("This is a synchronized method.");
    }
(8) native
  • 作用 :方法由本地代码(如 C/C++)实现。

  • 示例

    public native void myMethod();

4. 接口相关的关键字

(1) interface
  • 作用 :用于定义接口。

  • 示例

    interface MyInterface {
        void myMethod();
    }
(2) default (Java 8 引入)
  • 作用 :用于在接口中定义默认方法。

  • 示例

    interface MyInterface {
        default void myMethod() {
            System.out.println("This is a default method.");
        }
    }
(3) static (Java 8 引入)
  • 作用 :用于在接口中定义静态方法。

  • 示例

    interface MyInterface {
        static void myMethod() {
            System.out.println("This is a static method.");
        }
    }
(4) private (Java 9 引入)
  • 作用 :用于在接口中定义私有方法。

  • 示例

    interface MyInterface {
        private void myMethod() {
            System.out.println("This is a private method.");
        }
    }
(5) extends
  • 作用 :用于接口继承其他接口。

  • 示例

    interface MyInterface extends AnotherInterface {
        // 接口内容
    }
(6) @FunctionalInterface (Java 8 引入)
  • 作用 :用于标记函数式接口。

  • 示例

    @FunctionalInterface
    interface MyFunctionalInterface {
        void myMethod();
    }

5. 总结

  • classpublicabstractfinalextendsimplements 等关键字用于定义类的行为和特性。
  • 变量publicprotectedprivatestaticfinalvolatile 等关键字用于定义变量的访问权限和行为。
  • 方法publicprotectedprivatestaticfinalabstract 等关键字用于定义方法的访问权限和行为。
  • 接口interfacedefaultstaticprivateextends@FunctionalInterface 等关键字用于定义接口的行为和特性。