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

java初学笔记-----多态(难点笔记)

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

java初学笔记-----多态(难点笔记)

多态类型:

接口多态和抽象多态参考:深入理解Java的接口和抽象类 - Matrix海子 - 博客园

抽象类多态(Class)(abstract)-----------------(子类名 extends 抽象类父类名)

接口多态(Interface)(interface)----------------------------(子类名 implement 接口名)

具体类多态:

向上转型:无难点,略.

向下转型:

多态就像是就是龙生九子,都认你是龙,但能力各不相同,但龙的身份能做的事,九子都能做,但九子又不完全是龙,核心一样,一龙多态.

如果龙子想要做自己才能做的事情,包括使用龙子的特征,就需要向下转型,强转为龙子的类型.

就算是同一父类下的子类,依然不可以互相强转.毕竟龙A和龙B有本质区别.

public class AnimalDemo {
    public static void main(String[] args) {
        //向上转型
        animal a=new cat();
        System.out.println(a.age);//调用成员变量时,指向父类
        a.work();
        a.eat();//调用方法时,向上转型中,调用必须是父类中有的,如果子类中重写了方法,则调用子类方法.

        
        //向下转型
        cat c= (cat) a;
        //此处c与a地址值相同
        System.out.println(c.age);//向下转型后调用参数指向子类.
        c.eat();
        c.work();//此处属于调用父类方法.
        
        //不可如此转型.
        Dog d=(Dog) a;
        System.out.println(c.age);
        d.eat();
        d.work();
    }
}

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

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

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