栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java-多态

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java-多态

多态:同一个对象,在不同时刻表现出来的不同形态。

例如:我们可以说波斯猫是猫,我们也可以说波斯猫是动物,这里的波斯猫就在不同时刻表现出了不同的形态,这就叫做多态。

多态的前提和体现:

(1)有继承/实现关系;(2)有方法重写;(3)有父类引用指向子类对象

多态中成员访问的特点:

成员变量:编译看左边,执行看左边

成员方法:编译看左边,执行看右边

访问成员变量和成员方法为什么不同:因为成员方法有重写,而成员变量没有重写。

多态的好处:提高了程序的扩展性

具体体现:定义方法的时候,使用父类型作为参数,将来在使用的时候,使用具体的子类参与操作

多态的弊端:不能使用子类的特有功能

多态的转型:

向上转型:从子到父,父类引用指向子类对象

向下转型:从父到子,父类引用转为子类对象(利用子类对象强制转型)

package duotai_practice2;

public class animal {
    public void eat(){
        System.out.println("吃吃吃!");
    }
}

package duotai_practice2;

public class cat extends animal {
    @Override
    public void eat() {
        System.out.println("猫吃鱼!");
    }
}

package duotai_practice2;

public class dog extends animal{
    @Override
    public void eat() {
        System.out.println("狗吃骨头!");
    }
}


package duotai_practice2;

public class pig extends animal{
    @Override
    public void eat() {
        System.out.println("猪吃白菜!");
    }
}


package duotai_practice2;

public class animal_operator {
    public void animals_operator(animal a){
        a.eat();
    }
}


package duotai_practice2;

public class test {
    public static void main(String[] args) {
        animal_operator ao = new animal_operator();
        cat c = new cat();
        dog d = new dog();
        pig p = new pig();
        ao.animals_operator(c);
        ao.animals_operator(d);
        ao.animals_operator(p);
    }
}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/299295.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号