Java - 类属性
Java 类属性
Java 类属性 是绑定在 class 中的变量,即用于定义 class 的变量就是类属性。
类属性定义了程序执行期间 class 的状态。类属性默认可以在 class 方法中访问。
例如,有一个 "Student" class,包含一些数据成员(变量)如 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() {
}
}
在上面的 class 中,我们有像 breed、age 和 color 这样的字段,它们也被称为类属性。
访问 Java 类属性
要访问类属性,首先需要创建对象,然后使用点(.)运算符结合对象名。类属性也可以在 class 方法中直接调用。
语法
使用以下语法访问类属性:
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 class 的对象
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 class 的对象
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.;
class Dog {
final String name = "Tommy";
}
public class Tester {
public static void main(String[] args) {
Dog dog = new Dog();
dog.name = "Tommy"; // 修改 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..Tester.main(Tester.java:10)