欢迎来到天天文库
浏览记录
ID:42580574
大小:90.54 KB
页数:17页
时间:2019-09-18
《黑马程序员_毕向东基础视频》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、黑马程序员一毕向东基础视频昨天是白学的第七天了,慢慢的感觉入门了,但还是练习的太少了,现在就是能看懂一些,也就是能跟上现在毕老师的进度了。而且发现以询讲过的东西没记住的后而会反复出现。所以我绝对会坚持的。看视频,记笔记,整理笔记,写博客,技术UTo仿佛已经成为一种习惯。好了,上笔记!!!Day8一、多态-概念0、对彖的多态性,例如人是一类,人又分为男人,女人,两种形态(1)、人张三=new张三();1、多态:可以理解为事物存在的多种体现(1)、父类的引用,指向了自己的了类对彖,也可以叫父类的引用也可以接收白己的子类对象(2)、父类的引用
2、也可以接收口己的子类对彖2、多态的前提(1)、必须是类与类Z间有关系,要么继承,要么实现(2)、存在方法的覆盖3、多态的好处(1)、多态的出现大大的提高了程序的扩展性4、多态的弊端(1)、提高了扩展性,但是只能使用父类的引用访问父类中的成员。5、多态的应用abstractclassAnimal{publicabstractvoideat();}classCatextendsAnimal{publicvoideat(){System.out.printin(吃鱼);}publicvoidcatchMouse(){System.out.pr
3、intln(抓老鼠);)}classDogextendsAnimal{publicvoideat(){System.out.printin(吃骨头);)publicvoidkanJia(){System.out.printIn(看家);}}classPigextendsAnimal{publicvoideat(){System.out.println(吃饲料);publicvoidgongDi(){System.out.println(拱地);})publicclassDemo{publicstaticvoidmain(String[]
4、args){老方式Catc=newCat();c.eat();Dogd=newDog();d.eat();function(c);function(d);function(newCat());function(newDog());〃多态子类向父类转Animala=newCat();〃类型提升,向上转型,a.eat();〃如果想要调用猫的特有方法时,如何操作?//强制将父类的引用,转成子类类型,向下转型Catc=(Cat)a;//既能向上转,也能向下转,强制将父类的引用,转成了类类型,向下转型,前提是,〃创建吋,他是引用的是他的子类。我们
5、能转换的是父类应用指向了口己的子类对彖时,该应用可以被提升,也可以被转换〃多态B始至终都是子类对象在做着变化c.catchMouse();//Animala=newAnimal();//Catc=(Cat)a;//千万不要出现这样的操作,就是将父类对象转成子类类型。〃我们能转换的是父类应用指向了自己的了类对彖时,该应用可以被提升,也可以被强制转换function(newCat());function(newDog());function(newPig());}publicstaticvoidfunction(Catc){c.eat();
6、}publicstaticvoidfunction(Dogd){d.eat();}publicstaticvoidfunction(Pigd){d.eat();〃多态应用publicstaticvoidfunction(Animala){a.eat();if(ainstanceofCat){//instanceof判断该对象是哪个类的对象Catc=(Cat)a;c.catchMouse();}elseif(ainstanceofDog){}})四、多态-示例基础班学生:学习,睡觉高级班学生:学习睡觉可以将这两类事物进行捕取abstrac
7、tclassStudent{publicabstractvoidstuclyO;publicvoidsleep(){System.out.println(躺着睡);2-assBases〔uderHexpendss〔uden二pub一icvoidsiudy()(System・out・println(basesrudy);publicvoids一eep()(System.out.prin二n(宗槪'®)-2-assAdvStuderHextendsstuderH-publicvoids〔udy()(Sysiem・0urprin二n(advs
8、〔udy)八classDoSiudcn二pub一icvoiddosome(studentsru)(s〔u・study()・s〔u・sleep();publicclassDemo(pub=cSEicvoidm
此文档下载收益归作者所有