Java面向对象编程:继承与多态案例分析
在Java的面向对象编程中,继承和多态是两个核心概念。下面我们将通过几个实例来详细分析这两个特性。
继承:
- 定义:子类可以继承父类的所有非私有属性(包括方法)。
例子:
// 父类
class Animal {
public void eat() {
System.out.println("Animal is eating");
}
}
// 子类,继承Animal类
class Dog extends Animal {
@Override
public void eat() {
super.eat(); // 调用父类的eat方法
System.out.println("Dog is eating");
}
}
- 优点:代码重用,可以避免重复编写相似的方法。
多态:
- 定义:同一消息,不同的对象有不同的响应方式。
例子:
// 创建一个Animal接口
interface Animal {
public void eat();
}
// 创建两个类,都实现Animal接口
class Dog implements Animal {
@Override
public void eat() {
System.out.println("Dog is eating");
}
}
// 创建一个Person类,通过引用Dog对象来调用eat方法
class Person {
private Dog dog; // 创建Dog对象作为私有属性
public void eat() {
if (dog != null) { // 检查狗对象是否为空
dog.eat(); // 调用Dog对象的eat方法
} else {
System.out.println("No Dog available to eat");
}
}
}
// 创建Person对象并调用eat方法
Person person = new Person();
person.dog = new Dog(); // 给Person对象创建并设置Dog对象
person.eat(); // 调用eat方法
通过这些例子,我们可以看到继承和多态在Java面向对象编程中的重要性。
还没有评论,来说两句吧...