java面向对象多态
时间: 2023-08-17 07:12:16 浏览: 62
Java是一种面向对象的编程语言,它支持封装、继承和多态等特性。封装是指将数据和方法封装在一个类中,以保护数据的安全性和完整性。继承是指子类可以继承父类的属性和方法,从而实现代码的复用和扩展。多态是指同一种方法可以在不同的对象上产生不同的行为,提高了代码的灵活性和可扩展性。这些特性使得Java成为一种强大的面向对象编程语言,被广泛应用于各种领域。
相关问题
java面向对象多态例题
当然,我可以给你介绍一个Java面向对象多态的例题。
假设我们有一个动物类(Animal),它有一个抽象方法叫做"makeSound",用于发出声音。然后我们有两个子类,分别是狗类(Dog)和猫类(Cat),它们都继承自动物类。
在狗类中,我们重写了"makeSound"方法,让狗发出"汪汪"的声音;在猫类中,我们也重写了"makeSound"方法,让猫发出"喵喵"的声音。
现在,我们可以创建一个动物数组,数组中既可以存放狗对象,也可以存放猫对象。通过调用数组中每个元素的"makeSound"方法,我们可以实现多态性。
下面是示例代码:
```java
abstract class Animal {
public abstract void makeSound();
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("汪汪");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("喵喵");
}
}
public class Main {
public static void main(String[] args) {
Animal[] animals = new Animal[2];
animals[0] = new Dog();
animals[1] = new Cat();
for (Animal animal : animals) {
animal.makeSound();
}
}
}
```
运行以上代码,输出结果为:
```
汪汪
喵喵
```
这个例子展示了多态性的特点,通过将不同的子类对象存储在父类数组中,我们可以通过父类引用调用子类的方法,实现了不同对象的不同行为。
Java 面向对象 - 多态
多态是面向对象编程中的一个重要概念,它允许我们使用父类的引用来指向子类的对象,并且在运行时根据实际对象的类型来确定调用哪个方法。
在Java中,多态性可以通过继承和方法重写实现。假设有一个父类Animal和两个子类Cat和Dog,它们都继承自Animal类。假设Animal类有一个名为"makeSound"的方法,在子类中可以重写这个方法以实现不同的具体行为。
```java
class Animal {
public void makeSound() {
System.out.println("Animal makes a sound");
}
}
class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Cat meows");
}
}
class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Dog barks");
}
}
public class Main {
public static void main(String[] args) {
Animal animal1 = new Cat();
Animal animal2 = new Dog();
animal1.makeSound(); // 输出 "Cat meows"
animal2.makeSound(); // 输出 "Dog barks"
}
}
```
在上面的例子中,animal1和animal2都是Animal类型的引用,但分别指向了Cat和Dog的对象。当调用makeSound方法时,实际上会根据对象的类型来决定执行哪个子类的方法。
这种多态性使得代码更加灵活和可扩展,可以在不修改现有代码的情况下增加新的子类,并且可以通过父类的引用来访问子类的方法。这是面向对象编程中的一个重要特性。