首页 > 其他 > 详细

10:上溯造型

时间:2016-10-02 23:50:27      阅读:245      评论:0      收藏:0      [点我收藏+]

相关代码:

 1 class a{}
 2 class Hello{
 3     Hello(a example){
 4         System.out.println("yo");
 5     }
 6 }
 7 class aa extends a{}
 8 public class SprinklerSystem { 
 9  public static void main(String[] args) {
10      a c=new a();
11      aa d=new aa();
12      Hello q=new Hello(c);
13      Hello w=new Hello(d);
14     }
15 }

    由代码可看出,Hello构造器中的标准参数为对象a,但是看第13行,a的子类b被带入到Hello构造器中也是可以成立的,这就是所谓的”上溯造型“。子类是父类的超集,它至少了父类中的所有方法,所以”上诉造型“对于父类是可行的话那么对于子类也是可行的,不过有可能在子类上溯造型的时候丢失方法(父类中没有的)。

    有上溯造型,那么就有下溯造型,虽然两者均可行,但是下溯造型的问题是要多于上溯造型的。比如说方法中使用了子类相对于父类多出的方法/变量时,使用下溯造型将父类带入到方法中就会出错。

10:上溯造型

原文:http://www.cnblogs.com/cramile/p/5928296.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!