Java 类属性

Java 类属性 是 绑定在类中的变量,即用于定义类的变量是类属性。

类属性定义程序执行期间类的状态。默认情况下,可以在类方法中访问类属性。

例如,有一个类"Student",其中包含一些数据成员(变量),例如 roll_noagename。这些数据成员被视为类属性。

创建(声明)Java 类属性

要创建(声明)类属性,请使用 访问修饰符,后跟数据类型和属性名称。这与声明变量类似。

语法

使用以下语法声明类属性:

access_modifier type attribute_name; 

示例:声明 Java 类属性

public class Dog {
   String breed;
   int age;
   String color;

   void barking() {
   }

   void hungry() {
   }

   void sleeping() {
   }
} 

在上面的类中,我们有诸如 breedagecolor 也称为类属性。

访问 Java 类属性

要访问类属性,您需要创建一个 object,然后使用点 (.) 运算符与对象名称。类属性也可以直接在类方法中调用。

语法

使用以下语法访问类属性:

object_name.attribute_name; 

示例:访问 Java 类属性

考虑这个示例,演示如何访问类属性。

class Dog {
  //声明并初始化属性
  String breed = "German Shepherd";
  int age = 2;
  String color = "Black";
}

public class Main {
  public static void main(String[] args) {
    // 创建 Dog 类的对象
    Dog obj = new Dog();

    // 访问类属性并打印值
    System.out.println(obj.breed);
    System.out.println(obj.age);
    System.out.println(obj.color);
  }
} 

输出

German Shepherd
2
Black 

修改 Java 类属性

修改类属性,访问该属性并使用赋值 (=) 运算符分配新值。

语法

使用使用以下语法来修改类属性:

object_name.attribute_name  = new_value; 

示例:修改 Java 类属性

考虑此示例,演示如何修改类属性。

class Dog {
  //声明并初始化属性
  String breed = "German Shepherd";
  int age = 2;
  String color = "Black";
}

public class Main {
  public static void main(String[] args) {
    // 创建 Dog 类的对象
    Dog obj = new Dog();

    // 访问类属性并打印值
    System.out.println("Before modifying:");
    System.out.println(obj.breed);
    System.out.println(obj.age);
    System.out.println(obj.color);

    //修改类属性
    obj.breed = "Golden Retriever";
    obj.age = 3;
    obj.color = "Golden";

    // 打印
    System.out.println("\nAfter modifying:");
    System.out.println(obj.breed);
    System.out.println(obj.age);
    System.out.println(obj.color);
  }
} 

输出

Before modifying:
German Shepherd
2
Black

After modifying:
Golden Retriever
3
Golden 

将 Java 类属性设置为只读

您还可以使用 final 将类属性设置为只读声明属性时访问修饰符后面的关键字。

语法

使用以下语法将类属性设置为只读:

access_modifier final data_type attribute_name; 

示例:制作 Java 类属性只读

在下面的示例中,使用 name 属性设置为只读最终关键字。现在这个属性不能被修改,如果我们尝试修改这个属性,JVM会报错。

package com.yxjc123;

class Dog {
   final String name = "Tommy";  
}

public class Tester {
   public static void main(String[] args) {
      Dog dog = new Dog();
      dog.name = "Tommy";  //修改名称时出错
      System.out.println(dog.name);
   }
} 

输出

编译并运行Tester。这将产生以下结果 -

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
	The final field Dog.name cannot be assigned

	at com.yxjc123.Tester.main(Tester.java:10)