Java向上转型和向下转型的区别
程序员文章站
2022-04-17 17:41:42
...
前言:
- 向上转型:父类引用类型指向了子类的实例对象,此时无法使用子类里的成员变量以及方法。
- 向下转型:通过引用类型强转,恢复了子类的成员变量以及方法。
1.代码实现:
- 可以发现,父类虽然指向了子类的实例对象,但是并不能调用子类对象的方法,编译器报错。此时我们可以看作被隐藏了,那么怎样才可以把被隐藏的方法放出来呢?此时就需要向下转型。
2.实现向下转型:
- 将a强转为Son引用类型。
((Son)a).sleep(); //调用子类的sleep方法
4.此时执行程序:
- 成功向下转型,那么这样有什么作用呢?其实,无论是上转还是下转都是为了让类的使用范围和适用范围发生变化,以便操作不同范围的变量或者方法。这样其实就是一个java的继承多态,利于程序扩展.。我们需要这种设计方式,才会会写出更易维护、简洁的代码。
推荐阅读
-
Java 向上转型和向下转型的详解
-
Java : 多态表现:静态绑定与动态绑定(向上转型的运行机制)
-
Java 向上转型和向下转型的详解
-
浅谈Java中向上造型向下造型和接口回调中的问题
-
对继承与多态、成员变量的隐藏和方法重写、super关键字、final关键字、对象的上转型对象、抽象类的学习理解(java)
-
java向上转型发生的时机知识点详解
-
java多态的向上转型的概念及实例分析
-
Java : 多态表现:静态绑定与动态绑定(向上转型的运行机制)
-
重载和重写的理解,以及什么是自动转型与强制转型 Java重写重载自动转型强制转型
-
JAVA 面向对象(继承,向上/下转型,子类调用父类的构造函数)