day07 多态
2021/8/7 23:08:09
本文主要是介绍day07 多态,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
多态
即同一方法可以根据发送对象的不同而采用多种不同的行为方式。
一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类)
多态存在的条件:
有继承关系
子类重写父类方法
父类引用指向子类对象
注意:多态是方法的多态,属性没有多态性
instanceof (类型转换) 引用类型
package com.oop.demo05; public class Monkey { private String name; private boolean sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isSex() { return sex; } public void setSex(boolean sex) { this.sex = sex; } public Monkey() { super(); } public Monkey(String name, boolean sex) { this.name = name; this.sex = sex; } public void speak(){ System.out.println(name+"咿咿呀呀!");
package com.oop.demo05; public class People extends Monkey{ public void speak(){ System.out.println(this.getName()+"说了一句话!"); } public void play(){ System.out.println(this.getName()+"正在打篮球!"); } } package com.oop.demo05; public class Test02 { public static void main(String[] args) { Monkey m1 = new Monkey(); m1.setName("金丝猴"); m1.speak(); //People p2 = (People) m1; if (m1 instanceof People){ People p2 = (People)m1; p2.play(); } System.out.println("====================="); People p1 = new People(); p1.setName("秦汉"); p1.play(); p1.speak(); } }
} }
这篇关于day07 多态的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现
- 2024-06-03为什么以及如何要进行架构设计权衡?
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现