JAVA基础-- 对象转型 (casting)
1. 一个基类的引用类型变量可以指向其子类的对象:
1 | a= new Dog( "bigyellow" , "yellow" ); |
2. 一个基类的引用不可以访问其子类对象新增加的成员(属性和方法)
1 | System.out.println(a.furname); // error |
3. 可以使用引用变量instanceof类名来判断该引用型变量所指向的对象是否属于该类或者该类的子类:
1 2 | System.out.println(a instanceof Animal); //true System.out.println(a instanceof Dog); //true |
4. 子类的对象可以当做基类的对象来使用称作向上转型(upcasting), 反之成为向下转型(downcasting)
1 | a= new Dog( "bigyellow" , "yellow" ); //向上转型Dog d1=(Dog) a; //向下转型 |
1 2 3 4 5 6 7 8 | Animal a= new Animal( "name" ); Dog d= new Dog( "dogname" , "black" ); a= new Dog( "bigyellow" , "yellow" ); System.out.println(a.name); // bigyellow System.out.println(a.furname); // errorSystem.out.println(a instanceof Animal); //trueSystem.out.println(a instanceof Dog); //true Dog d1=(Dog) a; System.out.println(d1.furname); // yellow |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步