25. java面向对象 - 多态

Posted HQ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了25. java面向对象 - 多态相关的知识,希望对你有一定的参考价值。

一、定义

? 多态性的使用前提:① 类的继承关系 ② 要有方法的重写

? instanceof关键字使用:a instanceof A,判断对象a是否为类A的实例

public class Person {
    String name;
    int age;

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    public void eat() {
        System.out.println("父-吃饭");
    }

    public void sleep() {
        System.out.println("父-睡觉");
    }

}
public class Man extends Person {

    public Man(String name, int age) {
        super(name, age);
    }

    public void eat(){
        System.out.println("男人吃肉");
    }
}
public class Woman extends Person {
    public Woman(String name, int age) {
        super(name, age);
    }

    public void eat() {
        System.out.println("女人吃菜");
    }
}
    public class PersonTest {
    public static void main(String[] args) {
        // 对象的多态性:父类的引用指向子类的对象
        Person p1 = new Man("小明", 10);
        Person p2 = new Woman("小红", 11);
        //多态的使用,当调用子父类同名同参数方法时,实际执行的是子类重写父类的方法[虚拟方法调用]
        p2.eat();
        //判断对象p2是否为类Woman的实例
        if(p2 instanceof Woman){
            System.out.println("√");
        }
    }
}

以上是关于25. java面向对象 - 多态的主要内容,如果未能解决你的问题,请参考以下文章

java学习笔记之面向对象多态

Java面向对象多态和接口

Java面向对象之多态

java-面向对象的多态性摘要

JAVA面向对象3---多态

Java 基础 ------- 面向对象(四) 多态