Java 字段简介
1. 什么是字段?
在 Java 中,字段是类或接口中声明的变量。它们用于存储对象的数据,并且可以在整个类或接口中访问。字段也被称为成员变量或属性。每个字段都有一个名称和一个类型,并可以具有可选的修饰符(如 public
、private
、static
等)来控制其可访问性和行为。
2. 字段的声明和初始化
在 Java 中,字段的声明遵循以下语法:
[可见性修饰符] [静态修饰符] [最终修饰符] 类型 字段名 [= 初始值];
- 可见性修饰符:指定字段的可见性,可以是
public
、protected
、private
或默认(包级私有)。 - 静态修饰符:用于声明静态字段,被类的所有实例共享。
- 最终修饰符:用于声明最终字段,其值在初始化后不能再被修改。
- 类型:字段的数据类型,可以是基本类型(如
int
、double
)或引用类型(如String
、自定义类)。 - 字段名:字段的标识符,遵循标识符命名规则。
- 初始值:可选项,指定字段的初始值。
以下是一个示例,展示了字段的声明和初始化:
public class Person {
private String name; // 字符串类型字段,默认值为 null
private int age = 0; // 整数类型字段,初始值为 0
public static final int MAX_AGE = 100; // 静态常量字段,不可修改的最大年龄
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (age >= 0 && age <= MAX_AGE) {
this.age = age;
} else {
System.out.println("Invalid age!");
}
}
}
3. 字段的访问和修改
类中的字段可以通过对象实例进行访问和修改。字段的访问权限取决于其可见性修饰符。如果字段被声明为 public
,则可以从任何地方直接访问。如果字段被声明为 private
,则只能在类内部访问。如果字段没有可见性修饰符,则只能在同一包中访问。
以下是一个示例,展示了如何访问和修改字段:
public class Main {
public static void main(String[] args) {
Person person = new Person();
person.setName("John");
person.setAge(25);
System.out.println("Name: " + person.getName());
System.out.println("Age: " + person.getAge());
}
}
输出结果:
Name: John
Age: 25
4. 静态字段
静态字段属于类,而不是类的实例。它们在所有类的实例之间共享相同的值。可以通过类名直接访问静态字段,无需创建类的实例。
以下是一个示例,展示了如何声明和访问静态字段:
public class Counter {
public static int count = 0;
public Counter() {
count++;
}
}
public class Main {
public static void main(String[] args) {
Counter counter1 = new Counter();
System.out.println("Count: " + Counter.count); // 输出:Count: 1
Counter counter2 = new Counter();
System.out.println("Count: " + Counter.count); // 输出:Count: 2
}
}
5. 字段的最终性
字段可以使用 final
修饰符来声明为最终字段。最终字段的值在初始化后不能再被修改。最终字段必须在声明时或构造函数中进行初始化。
以下是一个示例,展示了如何声明和使用最终字段:
public class Circle {
private final double PI = 3.14159;
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getArea() {