类继承与重写:子类访问父类私有属性
在面向对象编程中,类继承和重写是两个重要的概念。
类继承:
子类(派生类)可以继承父类(基类)的公有(public)、保护(protected)或私有(private)属性。子类只能访问这些已继承的属性,除非它们被显式地设置为”public”。重写(Override):
子类如果覆盖了父类的一个方法(包括构造函数),那么就可以使用super.methodName()
来调用父类的方法,而不是直接调用自己的版本。
举例来说:
// 父类
class Animal {
private String name;
// 构造函数
public Animal(String name) {
this.name = name;
}
// 重写父类方法
@Override
public void speak() {
System.out.println("Animal speaks: " + name);
}
}
// 子类
class Dog extends Animal {
// 重写父类方法
@Override
public void speak() {
super.speak(); // 调用父类的speak方法
System.out.println("Dog adds its bark: Woof!");
}
}
在这个例子中,Dog
类继承了 Animal
类,并覆盖了 speak()
方法。当一个 Dog
对象调用自己的 speak()
方法时,会先执行父类的方法,然后添加狗的叫声。
还没有评论,来说两句吧...