Java教程

day07 多态

本文主要是介绍day07 多态,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

多态

即同一方法可以根据发送对象的不同而采用多种不同的行为方式。

一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类)

多态存在的条件:

有继承关系

子类重写父类方法

父类引用指向子类对象

注意:多态是方法的多态,属性没有多态性

instanceof (类型转换) 引用类型

 

package com.oop.demo05;

public class Monkey {
    private String name;
    private boolean sex;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public boolean isSex() {
        return sex;
    }

    public void setSex(boolean sex) {
        this.sex = sex;
    }

    public Monkey() {
        super();
    }

    public Monkey(String name, boolean sex) {
        this.name = name;
        this.sex = sex;
    }
    public void speak(){
        System.out.println(name+"咿咿呀呀!");
package com.oop.demo05;

public class People extends Monkey{
    public void speak(){
        System.out.println(this.getName()+"说了一句话!");
    }
    public void play(){
        System.out.println(this.getName()+"正在打篮球!");
    }
}
package com.oop.demo05;

public class Test02 {
    public static void main(String[] args) {
        Monkey m1 = new Monkey();
        m1.setName("金丝猴");
        m1.speak();
        //People p2 = (People) m1;
        if (m1 instanceof People){
            People p2 = (People)m1;
            p2.play();
        }


        System.out.println("=====================");
        People p1 = new People();
        p1.setName("秦汉");
        p1.play();
        p1.speak();
    }
}

  

} }

  

这篇关于day07 多态的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!