Java类和对象

在 Java 中,类、对象和变量是面向对象编程的核心概念,而关键字是 Java 语言中具有特殊含义的保留字,用于执行特定的操作或表达特定的语义。以下是与类、对象和变量相关的 Java 关键字的总结,包括类的访问权限相关的关键词:

类相关的关键词

  1. class

    • 用于定义一个类,类是 Java 中面向对象编程的基本构建块,它封装了数据和操作数据的方法。
    • 示例:
      1
      2
      3
      public class MyClass {
      // 类的内容
      }
  2. extends

    • 用于指定一个类继承另一个类,继承允许子类继承父类的属性和方法。
    • 示例:
      1
      2
      3
      public class SubClass extends SuperClass {
      // 子类的内容
      }
  3. implements

    • 用于指定一个类实现一个或多个接口,接口定义了一组方法,实现接口的类必须提供这些方法的具体实现。
    • 示例:
      1
      2
      3
      public class MyClass implements MyInterface {
      // 类的内容
      }
  4. final

    • 当用于类时,表示该类不能被继承。即不能有子类。
    • 示例:
      1
      2
      3
      public final class FinalClass {
      // 类的内容
      }
  5. abstract

    • 用于定义抽象类,抽象类不能被实例化,只能被继承。抽象类可以包含抽象方法(没有实现的方法)。
    • 示例:
      1
      2
      3
      public abstract class AbstractClass {
      // 抽象类的内容
      }
  6. interface

    • 用于定义接口,接口是一种特殊的类,它包含抽象方法和常量。类可以通过 implements 关键字实现接口。
    • 示例:
      1
      2
      3
      public interface MyInterface {
      void myMethod();
      }

对象相关的关键词

  1. new

    • 用于创建一个类的新实例,即创建对象。使用 new 关键字调用类的构造方法来初始化对象。
    • 示例:
      1
      MyClass obj = new MyClass();
  2. this

    • 用于引用当前对象本身。可以在类的方法中使用 this 来访问当前对象的属性和方法。
    • 示例:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      public class MyClass {
      int x;

      public MyClass(int x) {
      this.x = x; // 使用 this 引用当前对象的属性
      }

      public void myMethod() {
      System.out.println(this.x); // 使用 this 引用当前对象的方法
      }
      }
  3. super

    • 用于引用当前对象的父类对象。可以在子类的方法中使用 super 来访问父类的属性和方法,或者调用父类的构造方法。
    • 示例:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      public class SubClass extends SuperClass {
      public SubClass() {
      super(); // 调用父类的构造方法
      }

      public void myMethod() {
      super.myParentMethod(); // 调用父类的方法
      }
      }
  4. instanceof

    • 用于判断一个对象是否是某个类的实例。它返回一个布尔值,表示对象是否属于指定的类或其子类。
    • 示例:
      1
      2
      3
      if (obj instanceof MyClass) {
      System.out.println("obj 是 MyClass 的实例");
      }

变量相关的关键词

  1. static

    • 用于声明属于类的静态变量,而不是属于类的某个对象。静态变量在内存中只有一份副本,被该类的所有实例共享。
    • 示例:
      1
      2
      3
      4
      5
      6
      7
      public class MyClass {
      static int count = 0; // 静态变量

      public MyClass() {
      count++;
      }
      }
  2. final

    • 当用于变量时,表示该变量是常量,一旦被赋值,就不能被修改。
    • 示例:
      1
      2
      3
      public class MyClass {
      public static final double PI = 3.14159; // 常量
      }
  3. transient

    • 用于指定一个变量不应被序列化。当对象被序列化时(例如保存到文件或通过网络传输),transient 变量的值不会被保存。
    • 示例:
      1
      2
      3
      public class MyClass implements Serializable {
      transient int tempVar; // 不会被序列化的变量
      }
  4. volatile

    • 用于指定一个变量的值可能在多个线程之间变化。volatile 变量的值会直接读取和写入主内存,确保多线程环境下的可见性。
    • 示例:
      1
      2
      3
      public class MyClass {
      volatile boolean flag; // 多线程可见的变量
      }

类的访问权限相关的关键词

  1. public

    • 公共访问权限,表示类可以被任何其他类访问。
    • 示例:
      1
      2
      3
      public class PublicClass {
      // 类的内容
      }
  2. protected

    • 受保护访问权限,表示类只能在同一个包中访问,或者在不同包中通过继承访问。
    • 示例:
      1
      2
      3
      protected class ProtectedClass {
      // 类的内容
      }
  3. default(包访问权限)

    • 默认访问权限,表示类只能在同一个包中访问。
    • 示例:
      1
      2
      3
      class DefaultClass {
      // 类的内容
      }
  4. private

    • 私有访问权限,表示类只能在定义它的类内部访问,不能被其他类访问。
    • 示例:
      1
      2
      3
      private class PrivateClass {
      // 类的内容
      }

这些关键词在 Java 编程中起着关键作用,帮助开发者定义类、创建对象、管理变量以及实现面向对象的特性。