手机网站关键词seo,什么程序做的网站没有index页面,网站建设算入会计分录,wordpress评论去除理解#xff1a; 有一个对象 new ADHero(), 同时也有一个引用ad 对象是有类型的#xff0c; 是ADHero 引用也是有类型的#xff0c;是ADHero
一般来说引用类型和对象类型是一样的#xff0c;当引用类型和对象类型不一致就要考虑类型转换
简单判断#xff1a;把右边的当…理解 有一个对象 new ADHero(), 同时也有一个引用ad 对象是有类型的 是ADHero 引用也是有类型的是ADHero
一般来说引用类型和对象类型是一样的当引用类型和对象类型不一致就要考虑类型转换
简单判断把右边的当做左边来用看说得通不
向上转型
将子类转换为父类因为子类包含于父类所以说得通
类转换成接口
向下转型
慎重判断如果没有继承关系一定会失败
接口也有可能失败主要其实看接口的继承关系
package charactor;public class Hero {public String name; protected float hp;public static void main(String[] args) {ADHero ad new ADHero();AD adi ad;ADHero adHero (ADHero) adi;ADAPHero adapHero (ADAPHero) adi;adapHero.magicAttack();}}10行 ad引用指向ADHero 而adi引用是接口类型AD实现类转换为接口是向上转型所以无需强制转换并且一定能成功 12行: adi实际上是指向一个ADHero的所以能够转换成功 14行 adi引用所指向的对象是一个ADHero要转换为ADAPHero就会失败。 假设能够转换成功那么就可以使用magicAttack方法而adi引用所指向的对象ADHero是没有magicAttack方法的 instanceof
instanceof Hero 判断一个引用所指向的对象是否是Hero类型或者Hero的子类
相关文章: