如何访问java属性
访问Java属性的方法
在Java中,访问对象属性通常通过直接访问字段或使用方法(getter/setter)实现。以下是几种常见的方式:
直接访问公共字段
如果属性是public修饰的,可以直接通过对象实例访问:
class Person {
public String name;
}
Person person = new Person();
person.name = "Alice"; // 直接赋值
System.out.println(person.name); // 直接读取
通过Getter/Setter方法
推荐使用封装的方式,通过方法访问私有属性:
class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Person person = new Person();
person.setName("Bob"); // 通过setter赋值
System.out.println(person.getName()); // 通过getter读取
使用反射访问属性
通过反射机制可以动态访问属性(包括私有属性):
import java.lang.reflect.Field;
class Person {
private String name;
}
Person person = new Person();
Field field = Person.class.getDeclaredField("name");
field.setAccessible(true); // 解除私有限制
field.set(person, "Charlie"); // 反射赋值
System.out.println(field.get(person)); // 反射读取
通过Lombok简化Getter/Setter
使用Lombok注解自动生成getter/setter方法:

import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
class Person {
private String name;
}
Person person = new Person();
person.setName("David");
System.out.println(person.getName());
选择建议
- 封装性优先:优先使用getter/setter方法,避免直接暴露字段。
- 反射慎用:反射会破坏封装且影响性能,仅在必要时使用。
- 工具简化:Lombok等工具可减少样板代码,提升开发效率。






