date0407/DuotaiDemo2.java
来源:互联网 发布:玄空风水软件 编辑:程序博客网 时间:2024/06/16 05:52
/*多态--转型Animal a = new Cat();//向上转型a.eat();如果想要调用猫的特有方法,如何操作?强制将父类的引用,转成子类类型。也叫做向下转型。如下:Cat c = (Cat)a;//向下强转c.catmouse();千万不要出现这样的操作:将父类对象转成子类类型。我们能转换的是父类引用指向了自己的子类对象时,该引用可以被提升,也可以被强制转换。多态自始至终都是子类对象在做着变化。//-------------------------------------------------毕姥爷 x = new 毕老师();//毕老师向上转型x.讲课();毕老师 y = (毕老师)x;//向下强转y.看电影();关键字:instanceof一般用于if的条件判断中。基本用于以下两种:1、要判断的子类型是少量,如人只有男人、女人。 多了就不利于扩展。2、判断出来的,要调用其特有的功能。如判断所属类型,调用其特有的方法。*///动物都有吃方法,但每个动物都有各自的特有方法,如:猫会吃和抓老鼠,狗会吃和看家abstract class Animal{abstract void eat();}class Dog extends Animal{public void eat(){System.out.println("eat bone");}public void kanJia(){System.out.println("看家");}}class Cat extends Animal{public void eat(){System.out.println("eat fish");}public void catchMouse(){System.out.println("抓老鼠");}}class DuotaiDemo2 {public static void main(String[] args) {function(new Cat());function(new Dog());}public static void function(Animal a){a.eat();if(a instanceof Cat)//instanceof:动物变量a是Cat类型吗?{Cat c = (Cat)a;//向下转型c.catchMouse();}else if (a instanceof Dog){Dog d = (Dog)a;d.kanJia();}}}
0 0
- date0407/DuotaiDemo2.java
- date0407/ObjectEquals.java
- date0407/DuotaiMember.java
- date0407/DuotaiInterface.java
- date0407/DuotaiDemo.java
- date0407/DuotaiDemo3.java
- date0407/DuotaiDAO.java
- 多态学习笔记DuoTaiDemo2.java
- 151220DuoTaiDemo2
- 对象(DuoTaiDemo2)
- java
- JAVA
- JAVA
- JAVA
- java
- Java
- Java
- JAVA:
- Winform控件之文本类控件
- 解决ssh连接一段时间后光标无响应问题
- date0407/DuotaiDemo.java
- date0407/DuotaiDemo3.java
- block需要注意的细节
- date0407/DuotaiDemo2.java
- android 控制listview 的滑动速度
- date0407/DuotaiDAO.java
- ps快捷键
- date0408/AnonymityInnerClass.java
- 关于JVM常用的GC算法
- date0408/AnonymityInnerClassTest.java
- hdu 5214
- date0408/InnerClassDemo.java