黑马程序员技术交流社区

标题: 多态实例教学 [打印本页]

作者: 悟能    时间: 2015-8-5 21:39
标题: 多态实例教学
/*
        钢铁侠
       
        钢铁侠老实了,地球就陷入了长期和平 .
        路边合影,5块一张.  

        我: 这谁啊?
        他: 我 ,托尼.斯塔克  

        我: 你干啥呢 ?
        他: 我合影,整点小钱

        --------------------

        有人救命  

        他: 我去救人,不陪你了  
        我: 不行,合影再走

        他: 来不及了,救人
        召唤装备 ,变身
        飞走救人

        ---------------
       
        转型  byte b = (byte)300;
       
        子类数据类型 变量名  =  (子类数据类型) 父类引用 ;
        IronMan im = (IronMan) p;

        父类转向子类,向下转型,强制转换.


        子类转向父类,向上转型,自动转换.

*/

class PersonTest{

        public static void main(String[] args){

                //多态创建对象  

                Person p = new IronMan();
                System.out.println("我: 这谁啊?");
                System.out.println("他: 我啊!" + p.name +"!");
                System.out.println("我: 你干啥呢 ? ");
                System.out.print("他:" );
                p.business();
                System.out.println("救命啊!!!!");
                //变身
                IronMan im = (IronMan) p;
               
                im.fly();
                im.savePeople();
                im.business();
        }
}
//定义类 person
class Person {
        String name  = "托尼.斯塔克";
        public void business(){
                System.out.println("开工厂挣钱");
        }
}
//定义子类 IronMan
class IronMan extends Person{

        String name = "钢铁侠";
        public void business(){
                System.out.println("拍照挣钱,5块一张");
        }
        public void fly(){
                System.out.println("飞飞飞~~~~");
        }
        public void savePeople(){
                System.out.println("救人 ");
        }

}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2