- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java多态难点讲解
1 多态概念/*多态:同一个对象(事物),在不同时刻体现出来的不同状态。举例:猫是猫,猫是动物。水(液体,固体,气态)。多态的前提:A:要有继承关系。B:要有方法重写。其实没有也是可以的,但是如果没有这个就没有意义。动物 d = new 猫();d.show();动物 d = new 狗();d.show();C:要有父类引用指向子类对象。父 f = new 子();用代码体现一下多态。多态中的成员访问特点:A:成员变量编译看左边,运行看左边。B:构造方法创建子类对象的时候,访问父类的构造方法,对父类的数据进行初始化。C:成员方法编译看左边,运行看右边。D:静态方法编译看左边,运行看左边。(静态和类相关,算不上重写,所以,访问还是左边的)由于成员方法存在方法重写,所以它运行看右边。*/class Fu {public int num = 100;public void show() {System.out.println(show Fu);}public static void function() {System.out.println(function Fu);}}class Zi extends Fu {public int num = 1000;public int num2 = 200;public void show() {System.out.println(show Zi);}public void method() {System.out.println(method zi);}public static void function() {System.out.println(function Zi);}}class DuoTaiDemo {public static void main(String[] args) {//要有父类引用指向子类对象。//父 f = new 子();Fu f = new Zi();System.out.println(f.num);//找不到符号//System.out.println(f.num2);f.show();//找不到符号//f.method();f.function();}}2 多态好处/*多态的好处:A:提高了代码的维护性(继承保证)B:提高了代码的扩展性(由多态保证)猫狗案例代码*/class Animal {public void eat(){System.out.println(eat);}public void sleep(){System.out.println(sleep);}}class Dog extends Animal {public void eat(){System.out.println(狗吃肉);}public void sleep(){System.out.println(狗站着睡觉);}}class Cat extends Animal {public void eat() {System.out.println(猫吃鱼);}public void sleep() {System.out.println(猫趴着睡觉);}}class Pig extends Animal {public void eat() {System.out.println(猪吃白菜);}public void sleep() {System.out.println(猪侧着睡);}}//针对动物操作的工具类class AnimalTool {private AnimalTool(){}/*//调用猫的功能public static void useCat(Cat c) {c.eat();c.sleep();}//调用狗的功能public static void useDog(Dog d) {d.eat();d.sleep();}//调用猪的功能public static void usePig(Pig p) {p.eat();p.sleep();}*/public static void useAnimal(Animal a) {a.eat();a.sleep();}}class DuoTaiDemo2 {public static void main(String[] args) {//我喜欢猫,就养了一只Cat c = new Cat();c.eat();c.sleep();//我很喜欢猫,所以,又养了一只Cat c2 = new Cat();c2.eat();c2.sleep();//我特别喜欢猫,又养了一只Cat c3 = new Cat();c3.eat();c3.sleep();//...System.out.println(--------
您可能关注的文档
最近下载
- 2023年招商银行高级管理人员招聘高频笔试、历年难易点考题(共500题含答案解析)模拟试卷.docx
- 创新创业基础智慧树知到答案章节测试2023年.pdf
- 班组专业化的建立和发展.pptx
- 2024六年级英语上册 Module 2 Unit 2 There are lots of beautiful lakes in China说课稿 外研版(三起).docx
- 新职业英语1酒店英语--Unit-2.ppt VIP
- 招商银行笔试考试题库及答案.pdf
- 河北省公共基础知识真题及答案.docx
- 2023药物政策相关知识考试试题及答案.pdf VIP
- 关于进一步规范我院自学考试助学管理的办法(试行).doc
- 二级医院岗位职责.docx VIP
文档评论(0)