Java 类属性是指绑定在类中的变量,即用于定义类的变量是类属性。
类属性定义了程序执行期间类的状态。默认情况下,类属性可以在类方法中访问。
例如,有一个类“Student”,它有一些数据成员(变量),如 roll_no
、age
和 name
。这些数据成员被视为类属性。
创建(声明)Java 类属性
要创建(声明)类属性,请使用访问修饰符,后跟数据类型和属性名称。这类似于声明变量。
句法
使用以下语法来声明类属性:
access_modifier type attribute_name;
示例:声明 Java 类属性
public class Dog {
String breed;
int age;
String color;
void barking() {
}
void hungry() {
}
void sleeping() {
}
}
在上面的类中,我们有 breed
、age
和 color
等字段,它们也称为类属性。
访问 Java 类属性
要访问类属性,您需要先创建一个对象,然后使用点 (.) 运算符和对象名称。类属性也可以直接在类方法中调用。
句法
使用以下语法来访问类属性:
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 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 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 类属性设为只读
在下面的例子中,使用 final
关键字将 name
属性设置为只读。现在此属性无法修改,如果我们尝试修改此属性,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";
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)