Java多态小结
来源:互联网 发布:插画师软件 编辑:程序博客网 时间:2024/06/05 12:02
在学过继承之后,我们知道可以通过继承的方式实现代码的重用,同时也可以更加清楚的表示各个实例之间的关系,多态按字面的意思就是“多种状态”,是指对象调用相同的方法执行的操作不同,或者说同一实现接口,使用不同的实例而执行不同的操作。实现多态的过程包括:
1、子类重写父类的方法。
2、编译方法时,调用父类定义的方法。
3、运行时,根据实际创建的对象类型动态决定使用哪个方法。
class Person{
public void printInfo(){
//....
}
//...
}
class Student extends Person{
void study(){
}
public void printInfo(){
System.out.println("这是学生")
}
}
class Teacher extends Person{
void teach(){
//....
}
public void printInfo(){
System.out.println("这是老师")
}
}
class School{
public void openDoor(Person p){
p.printInfo();
}
}
当openDoor()传入不同的参数时,就会产生不同的运行效果以此来实现多态。
Person p = new Student();
代码向上转型,p称为Student的转型对象具体特点为:
1、上转对象不能操作子类新增的成员变量(失掉了这一部分属性),不能使用子类新增的方法(失掉了一些功能)
2、上转型对象可以操作子类继承或隐藏成员变量,也可以使用子类继承的或重写的方法
3、上转型对象操作子类继承或重写的方法时,就是通知对应的子类对象去调用这些方法。因此,如果子类重写了父类的某个方法后,对象的上转型调用这个方法时,一定是调用了这个重写的方法
4、可以将对象的上转型对象再强制转换到一个子类对象,这时,该子类对象又具备了子类所有属性和功能(类似于基本数据类型中高精度数给低精度需要强制转换)。
instanceof方法:obj instanceof className/InterfaceName 返回值为boolean 类型
- java多态小结
- Java多态小结
- java多态小结
- Java多态小结
- java继承和多态、接口小结
- Java多态知识小结+简单代码实例
- java小结
- java 小结
- java小结
- Java小结
- JAVA小结
- java小结
- JAVA小结
- JAVA小结
- Java小结
- java 小结
- Java小结
- java小结
- 奇妙的 RecyclerView (1):基本用法
- 如何在同一台电脑上打开多个iPhone模拟器
- 修改Tomcat命令窗口名称
- c++容器
- leetcode299. Bulls and Cows
- Java多态小结
- 快速掌握一个语言最常用的50%
- 欢迎使用CSDN-markdown编辑器
- 编写更好的 Java 单元测试的 7 个技巧
- springMVC源码分析--AbstractDetectingUrlHandlerMapping(五)
- FLV文件格式解析
- servlet接受form表单d值和文件上传
- nodejs包typings拓展自动补全功能
- javax.mail发送邮件(带附件)