java 面向对象 封装继承多态的综合练习 头歌
时间: 2024-11-06 12:20:27 浏览: 83
在 Java 的面向对象编程中,封装、继承和多态是三大核心特性,它们经常结合在一起用于解决复杂的问题。这里举个简单的例子来进行综合练习:
假设我们正在创建一个“动物”(Animal)类,它包含一些基本属性如名字(name)和声音(sound)。然后我们可以这样做:
```java
public class Animal {
private String name;
//封装
public Animal(String name) {
this.name = name;
}
//getter 和 setter 方法保护内部状态
public String getName() { return name; }
public void setName(String name) { this.name = name; }
//方法抽象,实现由子类完成
protected abstract String getSound();
}
// 继承和多态示例 - 子类 Dog 实现 Animal 接口
public class Dog extends Animal {
@Override
protected String getSound() {
return "汪汪";
}
}
// 再来一个子类 Cat
public class Cat extends Animal {
@Override
protected String getSound() {
return "喵喵";
}
}
```
在这个例子中,`Animal` 类是一个基类,它的 `getSound()` 方法是抽象的,子类 `Dog` 和 `Cat` 都实现了这个方法并提供了各自特定的声音。通过这种方式,你可以创建一个 Animal 对象,并根据不同类型的动物实例调用 `getSound()` 来获取声音,这就是多态。
阅读全文