时间:2023-04-14
标签: #Java #继承 #代码复用
以下是一个使用继承来复用共享代码的例子:
class Animal {
private String name;
private int age;
public Animal(String name, int age) {
this.name = name;
this.age = age;
}
public void eat() {
System.out.println(name + " is eating.");
}
public void sleep() {
System.out.println(name + " is sleeping.");
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
class Dog extends Animal {
public Dog(String name, int age) {
super(name, age);
}
public void bark() {
System.out.println(getName() + " is barking.");
}
}
class Bird extends Animal {
public Bird(String name, int age) {
super(name, age);
}
public void fly() {
System.out.println(getName() + " is flying.");
}
}
在这个例子中,Animal
类有两个属性 name
和 age
,以及一些共享的方法 eat()
、sleep()
、getName()
和 getAge()
。通过继承 Animal
类,我们可以在 Dog
和 Bird
子类中复用这些共享的代码。
注意,在子类中我们使用super()
调用来调用父类的构造方法,这样我们就可以在子类中设置name
和age
属性。另外,我们可以通过getName()
和getAge()
方法访问这些属性,从而在子类中实现自定义行为,如bark()
和fly()
方法。
继承使我们能够在不修改Animal
类的情况下轻松地为Dog
和Bird
类添加新功能,同时保持共享代码的一致性。