自觉的第一天
对象的向上转型
其实就是多态写法:
格式:父类名称对象名= new子类名称(); Animal animal = new Cat0;
含义:右侧创建一个子类对象,把它当做父类来看待使用。eg.创建了一只猫,当做动物看待,没问题。
注意事项:
- 向上转型一定是安全的。从小范围转向了大范围,从小范围的猫,向上转换成为更大范围的动物。
类似于:double num = 100; //正确,int --> double,自动类型转换。
对象的向下转型
其实是一个【还原】的动作。
格式:子类名称对象名=(子类名称)父类对象;含义:将父类对象,【还原】成为本来的子类对象。
Animal animal = new Cat();//本来是猫,向上转型成为动物
Cat cat = (Cat) animal;//本来是猫,已经被当做动物了,还原回来成为本来的猫
注意事项:
- a.必须保证对象本来创建的时候,就是猫,才能向下转型成为猫。
- b.如果对象创建的时候本来不是猫,现在非要向下转型成为猫,就会报错。
你凭什么比别人轻松,你配吗 |