黑马程序员技术交流社区

标题: 请问一下什么情况要向上转型,什么情况向下转型 [打印本页]

作者: 2403111708    时间: 2015-10-24 14:16
标题: 请问一下什么情况要向上转型,什么情况向下转型
看了老师的视频,感觉不是很好区分啊!有哪位帮我简单明了的讲解一下吗?
作者: pp7803515    时间: 2015-10-24 17:48
向上转型和向下转型都是为了类可以调用的方法范围发生变化。
  1. class Fu{
  2.         void method1(){
  3.             System.out.println("fu  method1");
  4.        }
  5.         void method2(){
  6.             System.out.println("fu  method2");
  7.        }
  8.         void methodFu(){
  9.             System.out.println("fu  methodFu");
  10.        }
  11.      
  12. }

  13. class Zi extends Fu{
  14.           void method1(){
  15.             System.out.println("zi  method1");
  16.        }
  17.           void method2(){
  18.           System.out.println("fu  method2");
  19.      }
  20.           void methodZi(){
  21.           System.out.println("fu  methodZi");
  22.      }
  23. }

  24. public class HelloWorld {
  25.        

  26.         public static void main(String args[]) {

  27. Fu fu=new Zi();
  28. fu.method1();
  29. fu.method2();
  30. fu.methodFu();
  31. Zi zi=(Zi)fu;
  32. zi.methodFu();
  33. zi.methodZi();
  34.                   
  35.    
  36.         }
  37. }
复制代码

作者: 雨来    时间: 2015-10-24 17:54
赋值 表达式,是右边的值赋值给左边仔细品味一下
作者: 达达达    时间: 2015-10-24 23:38
父类引用指向子类对象,为向上转型;反之,向下转型
作者: 2403111708    时间: 2015-10-25 10:05
pp7803515 发表于 2015-10-24 17:48
向上转型和向下转型都是为了类可以调用的方法范围发生变化。

谢谢啊              
作者: 2403111708    时间: 2015-10-25 10:06
雨来 发表于 2015-10-24 17:54
赋值 表达式,是右边的值赋值给左边仔细品味一下

谢谢啊!!            
作者: damofeixue    时间: 2015-10-25 12:30
可以与基本数据类型进行对比,当父类引用指向子类对象时,而父类引用要访问子类特有内容时,就需要把父类强转为子类类型,和基本数据类型强转差不多byte a =(byte)3+4




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2