首页 > 代码库 > 10:上溯造型
10:上溯造型
相关代码:
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:上溯造型
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。