java多态的向上转型的概念及实例分析
作者:小妮浅浅 时间:2023-06-12 08:30:35
1、说明
向上转型就是把一个子类引用给一个父类引用,也就是父类引用 引用了子类的对象,即父类 父类对象 = 子类实例。
此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,而不是父类的方法。但是调用的属性还是父类的属性。
2、实例
class Animal {
public String name;
public void eat() {
System.out.println(this.name + " 正在吃");
}
}
class Cat extends Animal {
}
public class Test extends TestDemo {
public static void main(String[] args) {
//父类引用 引用了 子类引用所引用的对象
Cat cat = new Cat();
Animal animal = cat;//向上转型
}
}
知识点扩充:
Java允许把子类对象赋值给父类的引用变量,不用做任何强制转换,系统自动完成。向上转型来自于自下而上的继承关系,子类继承父类,子类是一种特殊的父类,所以向上转型的操作其实是情理之中的。
下面依照简单的代码,来试着理解向上转型的概念与好处。
package com.my.pac14;
/**
* @auther Summerday
*/
public class DynamicBinding {
//Object是所有类的超类,根据向上转型,该方法可以接受任何类型的对象
public static void test(Object x) {
System.out.println(x.toString());
}
public static void main(String[] args) {
test(new PrimaryStudent());//Student
test(new Student());//Student
test(new Person());//Person
test(new Object());//java.lang.Object@1b6d3586
}
}
class Person extends Object {
@Override
public String toString() {
return "Person";
}
}
class Student extends Person {
@Override
public String toString() {
return "Student";
}
}
class PrimaryStudent extends Student {
}
来源:https://www.py.cn/java/jichu/30578.html
标签:java,多态,向上转型
0
投稿
猜你喜欢
Springboot使用@RefreshScope注解实现配置文件的动态加载
2022-06-11 10:06:00
C#实现农历日历的方法
2022-08-17 21:27:29
Java使用synchronized修饰方法来同步线程的实例演示
2022-11-29 18:33:29
C++之try catch 异常处理入门实例
2021-09-13 04:42:07
java StringBuilder类的详解及简单实例
2022-04-15 01:24:44
Android中监听未接来电的2种方法
2023-11-02 10:44:48
Android Rreact Native 常见错误总结
2021-07-11 16:39:59
Android获取手机电池电量用法实例
2021-08-05 23:14:34
Android 刘海屏适配总结(推荐)
2022-03-23 23:26:55
C语言详细分析宏定义与预处理命令的应用
2021-10-06 00:39:24
Java中ArrayList在foreach里remove的问题详析
2022-08-04 02:30:40
Java 数据结构与算法系列精讲之贪心算法
2023-09-12 17:56:13
解析后台进程对Android性能影响的详解
2021-09-05 05:42:09
Android Vitamio和ExoPlayer两种播放器优劣分析
2023-02-25 13:21:51
kotlin实现五子棋单机游戏
2022-10-16 03:20:09
IDEA报错:无效的源发行版解决方案
2022-06-05 08:38:58
详解android 人脸检测你一定会遇到的坑
2023-03-10 15:24:34
C#中split用法实例总结
2023-11-27 11:31:16
Android编程实现加载等待ProgressDialog的方法
2022-09-11 21:12:11
Spring和Hibernate的整合操作示例
2023-08-08 11:57:52