欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java向上转型和向下转型的区别

程序员文章站 2022-04-17 17:41:42
...

前言:

  • 向上转型:父类引用类型指向了子类的实例对象,此时无法使用子类里的成员变量以及方法。
  • 向下转型:通过引用类型强转,恢复了子类的成员变量以及方法。

1.代码实现:

Java向上转型和向下转型的区别

  • 可以发现,父类虽然指向了子类的实例对象,但是并不能调用子类对象的方法,编译器报错。此时我们可以看作被隐藏了,那么怎样才可以把被隐藏的方法放出来呢?此时就需要向下转型。

2.实现向下转型:

  • 将a强转为Son引用类型。
((Son)a).sleep();   //调用子类的sleep方法

4.此时执行程序:
Java向上转型和向下转型的区别

  • 成功向下转型,那么这样有什么作用呢?其实,无论是上转还是下转都是为了让类的使用范围和适用范围发生变化,以便操作不同范围的变量或者方法。这样其实就是一个java的继承多态,利于程序扩展.。我们需要这种设计方式,才会会写出更易维护、简洁的代码。