java的多态使用
时间: 2023-07-11 20:17:51 浏览: 48
Java中的多态是指同一个方法可以根据不同的对象调用出不同的结果。它可以通过以下方式实现:
1. 方法重载:在同一个类中定义多个同名方法,但参数列表不同。这样就可以根据传入的参数类型来调用不同的方法。
2. 方法重写:在子类中重写父类的方法,实现子类对父类方法的改写。这样就可以根据对象的实际类型来调用不同的方法。
下面是一个简单的例子:
```
// 父类Animal
public class Animal {
public void eat() {
System.out.println("Animal is eating");
}
}
// 子类Dog
public class Dog extends Animal {
@Override
public void eat() {
System.out.println("Dog is eating");
}
}
// 子类Cat
public class Cat extends Animal {
@Override
public void eat() {
System.out.println("Cat is eating");
}
}
// 测试类
public class Test {
public static void main(String[] args) {
Animal a1 = new Dog();
Animal a2 = new Cat();
a1.eat();
a2.eat();
}
}
// 输出结果:
// Dog is eating
// Cat is eating
```
在上面的例子中,Animal类定义了一个eat()方法,而Dog和Cat类都重写了这个方法。在测试类中,我们分别用Dog和Cat对象来调用eat()方法,并将它们赋值给Animal类型的变量a1和a2。由于多态的特性,a1和a2调用的eat()方法实际上都是根据对象的实际类型来决定的,因此输出结果分别为"Dog is eating"和"Cat is eating"。