Java 类属性

  • Java类属性

    在上一章中,我们x在示例中使用了“变量”一词(如下所示)。它实际上是类的一个属性。或者您可以说类属性是类中的变量:
    创建一个名为“MyClass” 的类,它具有两个属性:x和y:
    public class MyClass {
      int x = 5;
      int y = 3;
    }
    类属性的另一个术语是fields
  • 访问属性

    您可以通过创建类的对象并使用点语法(.)来访问属性: 以下示例将创建MyClass名为的类的对象myObj。我们在对象上打印x属性的值:
    public class MyClass {
      int x = 5;
    
      public static void main(String[] args) {
        MyClass myObj = new MyClass();
        System.out.println(myObj.x);
      }
    }
    尝试一下
  • 修改属性

    您还可以修改属性值:
    将值设置x为40:
    public class MyClass {
      int x;
    
      public static void main(String[] args) {
        MyClass myObj = new MyClass();
        myObj.x = 40;
        System.out.println(myObj.x);
      }
    }
    尝试一下
    或覆盖现有值:
    将值设置x改为25:
    public class MyClass {
      int x = 10;
    
      public static void main(String[] args) {
        MyClass myObj = new MyClass();
        myObj.x = 25; // x is now 25
        System.out.println(myObj.x);
      }
    }
    尝试一下
    如果您不希望覆盖现有值,请将该属性声明为final:
    将值设置x改为25:
    public class MyClass {
      final int x = 10;
    
      public static void main(String[] args) {
        MyClass myObj = new MyClass();
        myObj.x = 25; // will generate an error: cannot assign a value to a final variable
        System.out.println(myObj.x);
      }
    }
    尝试一下
    final当您希望变量始终存储相同的值(例如PI(3.14159 ...))时,该关键字很有用。final关键字称为“修饰符”。您将在Java 修饰符一章中了解有关这些内容的更多信息。
  • 多个对象

    如果创建一个类的多个对象,则可以更改一个对象的属性值,而不会影响另一个对象的属性值:
    变化值x25在myObj2和留x在myObj1不变:
    public class MyClass {
      int x = 5;
    
      public static void main(String[] args) {
        MyClass myObj1 = new MyClass();  // Object 1
        MyClass myObj2 = new MyClass();  // Object 2
        myObj2.x = 25;
        System.out.println(myObj1.x);  // Outputs 5
        System.out.println(myObj2.x);  // Outputs 25
      }
    }
    尝试一下
  • 多种属性

    您可以根据需要指定任意数量的属性:
    public class Person {
      String fname = "John";
      String lname = "Doe";
      int age = 24;
    
      public static void main(String[] args) {
        Person myObj = new Person();
        System.out.println("Name: " + myObj.fname + " " + myObj.lname);
        System.out.println("Age: " + myObj.age);
      }
    }
    尝试一下
    下一章将教您如何创建类方法以及如何使用对象访问它们。