问答详情
源自:10-3 Java 中的抽象类

为什么要提升类型

com为demo5的父类

demo5 asd=new demo5();  //获得子类对象引用

com aaa=asd;  //类型提升

我看有的写法是这样的:com aaa=new demo5();

我这样写也可以实现一样的效果啊:demo5 zzz=new demo5();

com aaa=new demo5();是把他的类型提升了,这样写有什么用

提问者:久点 2017-05-13 11:51

个回答

  • 慕婉清0689395
    2017-05-14 16:11:56

    package com.hwadee.test;


    public class Factory {

        

        public void eat(Fruit fruit) {

            if (fruit == null) {

                

                System.out.println("没有原材料!!!");

            }

            else {

                

                if (fruit instanceof Apple) {

                    

                    Apple apple = (Apple) fruit;

                    apple.eat();

                }

                if (fruit instanceof Orange) {

                    

                    Orange orange = (Orange) fruit;

                    orange.eat();

                }

            }

        }

    }


  • 慕婉清0689395
    2017-05-13 13:18:12

    提升类型的主要应用是他可以接收它所有子类的对象,比如我们在测试类中定义一个方法需要一个类的所用子类都进行相同的操作,如果不提升类型我们就需要不断地重载方法,通过父类对象可以很好地解决这个问题。