Java 简明教程

Java - Class Attributes

Java Class Attributes

Java class attributes 是绑定在类中的 variables,也就是说,用于定义类的变量是类属性。

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

例如,有一个类“Student”,它有一些数据成员(变量),比如 roll_no、age 和 name。这些数据成员被视为类属性。

Creating (Declaring) Java Class Attributes

要创建(声明)一个类属性,请使用 access modifier 后跟 data type 和属性名称。这与声明一个变量类似。

Syntax

使用下面的语法来声明类属性:

access_modifier type attribute_name;

Example: Declaring Java Class Attributes

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

   void barking() {
   }

   void hungry() {
   }

   void sleeping() {
   }
}

在上面的类中,我们有 breed、age 和 color 等字段,它们也称为类属性。

Accessing Java Class Attributes

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

Syntax

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

object_name.attribute_name;

Example: Accessing Java Class Attributes

试想一下这个例子,演示如何访问类属性。

class Dog {
  // Declaring and initializing the attributes
  String breed = "German Shepherd";
  int age = 2;
  String color = "Black";
}

public class Main {
  public static void main(String[] args) {
    // Creating an object of the class Dog
    Dog obj = new Dog();

    // Accessing class attributes & printing the values
    System.out.println(obj.breed);
    System.out.println(obj.age);
    System.out.println(obj.color);
  }
}
German Shepherd
2
Black

Modifying Java Class Attributes

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

Syntax

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

object_name.attribute_name  = new_value;

Example: Modifying Java Class Attributes

试想一下这个例子,演示如何修改类属性。

class Dog {
  // Declaring and initializing the attributes
  String breed = "German Shepherd";
  int age = 2;
  String color = "Black";
}

public class Main {
  public static void main(String[] args) {
    // Creating an object of the class Dog
    Dog obj = new Dog();

    // Accessing class attributes & printing the values
    System.out.println("Before modifying:");
    System.out.println(obj.breed);
    System.out.println(obj.age);
    System.out.println(obj.color);

    // Modifying class attributes
    obj.breed = "Golden Retriever";
    obj.age = 3;
    obj.color = "Golden";

    // Printing
    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

Making Java Class Attributes Read Only

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

Syntax

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

access_modifier final data_type attribute_name;

Example: Making Java Class Attributes Read Only

在下面的例子中,name 属性使用 final 关键字设为只读。现在,此属性不可修改,并且如果我们尝试修改此属性,JVM 将发出抱怨。

package com.tutorialspoint;

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

public class Tester {
   public static void main(String[] args) {
      Dog dog = new Dog();
      dog.name = "Tommy";  // Error while modifying name
      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.tutorialspoint.Tester.main(Tester.java:10)