java属性如何重写
重写 Java 属性的方法
在 Java 中,属性通常指类的成员变量(字段)。重写属性的常见场景包括子类覆盖父类的字段或通过封装(getter/setter)实现逻辑控制。以下是几种实现方式:

直接覆盖字段(不推荐)
子类可以声明与父类同名的字段,但这种方式容易混淆,且不符合面向对象的设计原则:

class Parent {
String name = "Parent";
}
class Child extends Parent {
String name = "Child"; // 直接覆盖字段
}
通过方法重写实现逻辑控制
更推荐的方式是使用 getter/setter 方法,并通过方法重写(@Override)实现属性逻辑的修改:
class Parent {
private String name = "Parent";
public String getName() {
return name;
}
}
class Child extends Parent {
@Override
public String getName() {
return "Child"; // 重写获取逻辑
}
}
使用注解生成属性方法
Lombok 等工具可通过注解自动生成 getter/setter,减少样板代码:
import lombok.Getter;
import lombok.Setter;
@Getter @Setter
class Person {
private String name;
}
// 子类重写方法
class Employee extends Person {
@Override
public String getName() {
return "Employee: " + super.getName();
}
}
注意事项
- 直接字段覆盖会导致父类方法仍访问父类字段,可能产生意外行为。
- 优先使用方法重写(getter/setter)实现属性逻辑的变更。
- 使用
final修饰的字段或方法无法被重写。 - 静态方法或字段属于类级别,不存在重写概念。






