Java 类属性
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,然后使用点 (.) 运算符与对象名称。类属性也可以直接在类方法中调用。
语法
使用以下语法访问类属性:
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)