在Java中,子类可以通过继承父类的属性并重新定义它们来覆盖父类的属性。子类可以使用super
关键字引用父类的属性,并通过@Override
注解来标注要覆盖的方法。
以下是一个示例代码,展示了如何在子类中覆盖父类的属性:
class Parent { protected String name; public Parent(String name) { this.name = name; } public String getName() { return name; } } class Child extends Parent { private int age; public Child(String name, int age) { super(name); this.age = age; } @Override public String getName() { return super.getName() + " Jr."; } public int getAge() { return age; } } public class Main { public static void main(String[] args) { Parent parent = new Parent("John"); System.out.println(parent.getName()); // Output: John Child child = new Child("Mike", 10); System.out.println(child.getName()); // Output: Mike Jr. System.out.println(child.getAge()); // Output: 10 } }
在上面的示例中,Child
类继承了Parent
类,并重新定义了getName()
方法来覆盖父类的属性。在Child
类的getName()
方法中,我们通过super.getName()
来访问父类的属性,并在其后面添加了" Jr."来修改返回结果。
注意,为了能够覆盖父类的属性,子类必须具有相同的名称和参数列表的方法。而且,子类的访问修饰符不能低于父类的访问修饰符。在上面的示例中,Child
类的getName()
方法使用了@Override
注解来明确表示该方法是对父类方法的覆盖。