多态

多态

面向对象的三大特性:

封装、继承、多态

多态定义

多态是面向对象编程中的一个核心概念,指的是不同类型的对象对同一消息做出响应时,表现出不同的行为。具体来说,多态允许在不同继承关系的类对象中,调用同一函数时产生不同的行为。

函数重载:

1.函数名相同

2.参数列表不同(参数顺序不同,参数类型不同,参数个数不同)

函数重写

1.类间,要有继承关系

2.要有虚函数

多态的构成结构

1.继承

2.重写

3.父类引用指向子类对象:Parent p = new Child();

当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;如果有,再去调用子类的同名方法。

多态的好处:可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。

abstract 抽象类

java中没有虚函数

虚函数

​ 虚函数的存在是为了多态。Java 中其实没有虚函数的概念,它的普通函数就相当于 C++ 的虚函数,动态绑定是Java的默认行为。如果 Java 中不希望某个函数具有虚函数特性,可以加上 final 关键字变成非虚函数。

重写

多态例子

基类:Animal.Java

abstract public class Animal {

    public void eat(){
        System.out.println("Animal正在吃");
    }
    public void sleep(){
        System.out.println("Animal正在睡");
    }
    public void introduction() {
        System.out.println("大家好!我是Animal"        );
    }
}

子类:mouse.java

public class mouse extends Animal {
    public void eat(){
        System.out.println("老鼠正在吃");
    }
    public void sleep(){
        System.out.println("老鼠正在睡");
    }
    public void introduction() {
        System.out.println("大家好!我是老鼠"        );
    }
}

子类:Penguin.java

public class Penguin extends Animal {
    public void eat(){
        System.out.println("企鹅正在吃");
    }
    public void sleep(){
        System.out.println("企鹅正在睡");
    }
    public void introduction() {
        System.out.println("大家好!我是企鹅"  );
    }

}

子类:Main.java

public class Main {
   public static void main(String[] args) {
       Animal animal=new Penguin();
       animal.eat();
    }
}

posted @ 2026-06-03 11:11  waitwx  阅读(3)  评论(0)    收藏  举报