java利用多态实现编程。(使用方法重写和上转型对象,这个上转型对象就可以调用子类重写的方法。)
时间: 2023-05-29 07:01:28 浏览: 86
Java利用多态实现编程可以通过以下步骤:
1. 创建一个父类,定义一些通用的方法和属性。
2. 创建多个子类,继承父类并重写其中的部分方法,定义子类特有的方法和属性。
3. 将子类对象转换为父类对象,称之为上转型对象。这样做可以使子类对象被父类引用。
4. 调用父类对象的方法,在运行时会根据实际对象类型调用对应的子类方法,实现多态。
以下是一个示例代码:
```java
class Animal {
void makeSound() {
System.out.println("This is animal's sound.");
}
}
class Dog extends Animal {
void makeSound() {
System.out.println("The dog barks.");
}
}
class Cat extends Animal {
void makeSound() {
System.out.println("The cat meows.");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Animal();
Dog dog = new Dog();
Cat cat = new Cat();
Animal animal1 = dog;
Animal animal2 = cat;
animal.makeSound(); // This is animal's sound.
dog.makeSound(); // The dog barks.
cat.makeSound(); // The cat meows.
animal1.makeSound(); // The dog barks.
animal2.makeSound(); // The cat meows.
}
}
```
在这个示例中,Animal是父类,Dog和Cat是子类。Dog和Cat继承了Animal的makeSound()方法,并且重写了该方法。
在main方法中,分别创建了Animal、Dog和Cat的对象。另外,将Dog、Cat分别赋值给了Animal类型的变量animal1和animal2,这就是上转型对象。
当调用animal对象的makeSound()方法时,会执行Animal类中定义的makeSound()方法。而调用dog和cat对象的方法时,会执行对应子类中重写的makeSound()方法。当调用animal1和animal2对象的makeSound()方法时,也会根据实际类型去调用对应的子类方法。
通过这种方式,我们可以灵活地使用父类和子类之间的继承和多态特性,实现更加可维护和可扩展的代码。