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-12-26大厂数据结构与算法教程:入门级详解
- 2024-12-26大厂算法与数据结构教程:新手入门指南
- 2024-12-26Python编程入门指南
- 2024-12-26数据结构高级教程:新手入门及初级提升指南
- 2024-12-26并查集入门教程:从零开始学会并查集
- 2024-12-26大厂数据结构与算法入门指南
- 2024-12-26大厂算法与数据结构入门教程
- 2024-12-26二叉树入门教程:轻松掌握基础概念与操作
- 2024-12-26初学者指南:轻松掌握链表
- 2024-12-26平衡树入门教程:轻松理解与应用