10.1引用数据类型的转换

来源:互联网 发布:usleep php 编辑:程序博客网 时间:2024/06/16 03:42
引用数据类型的转换:
小数据类型------->大数据类型自动类型转换

大数据类型------->小数据类型强制类型转换

需求:定义一个函数可以接收任意类型的动物对象,
在函数内部要调用到动物特有的方法

abstract class  Animal{String name;public Animal(String name){this.name = name;}public abstract void run();}class Mouse extends Animal{public Mouse(String name){super(name);}public void run(){System.out.println(name+"四条腿在跑步!!!");}public void dig(){//子类特有的方法System.out.println("老鼠会打洞");}}class Fish extends Animal{public Fish(String name){super(name);}public void run(){System.out.println(name+" 用尾巴游泳!!");}public void bubble(){System.out.println(name + "吹泡泡!!");}}public class TypeConversion{public static void main(String[] args) {/*Animal a = new Mouse("老鼠");//多态   //调用子类特有的方法,通过强制类型转换Mouse m = (Mouse)a;m.dig();*/Mouse m = new Mouse("米老鼠");Fish f = new Fish("草鱼");print(m);//print(m);java.lang.ClassCastException}//需求:定义一个函数可以接收任意类型的动物对象,//在函数内部要调用到动物特有的方法public static void print(Animal a){if(a instanceof Fish){Fish f = (Fish)a;     f.bubble();}else if (a instanceof Mouse){Mouse m= (Mouse)a;m.dig();}}}


0 0
原创粉丝点击