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 和属性名称。这与声明一个变量类似。
Accessing Java Class Attributes
要访问类属性,您需要首先创建一个 object,然后对对象名称使用点 (.) 运算符。类属性也可以直接在类方法中调用。
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
若要修改类属性,访问属性并使用赋值 (=) 运算符分配新值。
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 关键字将类属性设为只读。
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)