Java向上转型
2021/6/20 14:20:26
本文主要是介绍Java向上转型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
# 向上转型
对象可以作为自己本身的类型使用,也可以作为它的基类型使用。把对某个对象的引用视为对其基类型的引用的做法被称为向上转型。
向上转型是一个较专用类型向通用类型转换,所以总是很安全的。因为导出类是基类的一个超集,可能比基类含有更多的方法,所以在向上转型过程中,类接口中唯一可能发生的事情就是丢失方法。
向上转型变量类型由new决定,还是声明?
```java
public class Father {
public String name = "父类";
public void f1(){
System.out.println("这是父类方法");
}
}
public class Son extends Father{
public String name = "子类";
public void f1(){
System.out.println("这是子类方法f1");
}
public void f2(){
System.out.println("这是子类方法f2");
}
public static void main(String[] args) {
Father f = new Son();
System.out.println(f.name);
f.f1();
f.f2();//Cannot resolve method 'f2' in 'Father'
}
}
output:
父类
这是子类方法f1
```
(1)对象的类型是由创建它的类决定的,而不是由声明它的变量决定。
(2)父类引用只能调用父类的变量和方法
(2)父类方法只有在子类没有重写的情况下可以被父类类型的引用调用。如果子类重写了该方法就会调用子类的方法(动态连接)。
(4)f.f2()报错,向上转型不能调用子类中独有的方法
[参考链接](https://blog.csdn.net/kavensu/article/details/8079460?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242)
这篇关于Java向上转型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求