面向对象编程:Java类继承问题案例解析
在Java中,类的继承是面向对象编程的重要特性。下面我们将通过一个具体案例来解析类继承的问题。
案例:一个动物王国,包括鸟、爬行动物(如蛇)和哺乳动物(如猫和狗)。我们想创建一个基类Animal
,然后让子类继承这个基类。
创建基类
Animal
:// Animal.java
public class Animal {
// 定义属性或方法
private String species;
private int age;
// 构造器
public Animal(String species, int age) {
this.species = species;
this.age = age;
}
// 重写父类方法
public void makeSound() {
System.out.println("Animal makes a sound.");
}
// 获取和设置属性的方法
public String getSpecies() {
return species;
}
public void setSpecies(String newSpecies) {
this.species = newSpecies;
}
public int getAge() {
return age;
}
public void setAge(int newAge) {
this.age = newAge;
}
}
创建子类并继承
Animal
:
```java
// Bird.java (鸟类)
import Animal;
public class Bird extends Animal {
// 鸟类特有的属性和方法
private wingsSize; // 翅膀大小
public Bird(String species, int age, String wingsSize) {
super(species, age);
this.wingsSize = wingsSize;
}
// 重写父类方法
@Override
public void makeSound() {
System.out.println("Bird makes a chirping sound.");
}
// 获取和设置属性的方法
public String getWingsSize() {
return wingsSize;
}
public void setWingsSize(String newWingsSize) {
this.wingsSize = newWingsSize;
}
}
3. 使用子类`Bird`:
```java
public class Main {
public static void main(String[] args) {
// 创建鸟的实例
Bird myBird = new Bird("Parrot", 2, "Medium"));
// 访问和修改属性
System.out.println("Species: " + myBird.getSpecies());
myBird.setWingsSize("Large");
System.out.println("Wings Size: " + myBird.getWingsSize());
// 继承的父类方法
myBird.makeSound();
}
}
通过这个案例,你可以看到Java中类继承的基本使用。
还没有评论,来说两句吧...