码迷,mamicode.com
首页 > 编程语言 > 详细

[20-05-05][Thinking in Java 10]Java Polymorphism 4 - Downcasting

时间:2020-05-05 12:35:03      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:his   package   ring   java 10   向下转型   static   stat   out   class   

1 package test_2_2;
2 
3 public class Cycle {
4 
5     public void balance() {
6         
7         System.out.println("this is Cycle.balance()");
8     }
9 }

 

 1 package test_2_2;
 2 
 3 public class Bicycle extends Cycle {
 4 
 5     @Override
 6     public void balance() {
 7 
 8         System.out.println("this is Bicycle.balance()");
 9     }
10     
11 }

 

 1 package test_2_2;
 2 
 3 public class Unicycle extends Cycle {
 4 
 5     @Override
 6     public void balance() {
 7 
 8         System.out.println("this is Unicycle.balance()");
 9     }
10 
11 }

 

1 package test_2_2;
2 
3 public class Tricycle extends Cycle{
4 
5 }

 

 1 package test_2_2;
 2 
 3 public class Test {
 4 
 5     public static void main(String[] args) {
 6         
 7         /**
 8          * 向上转型
 9          */
10         Cycle[] cycles = {new Unicycle(), new Bicycle(), new Tricycle()};
11 
12         cycles[0].balance();
13         cycles[1].balance();
14         cycles[2].balance();
15         
16         System.out.println("-----");
17         /**
18          * 向下转型
19          */
20         ((Unicycle)cycles[0]).balance();
21         ((Bicycle)cycles[1]).balance();
22         ((Tricycle)cycles[2]).balance();
23 
24     }
25 
26 }

 

结果如下:

this is Unicycle.balance()
this is Bicycle.balance()
this is Cycle.balance()
-----
this is Unicycle.balance()
this is Bicycle.balance()
this is Cycle.balance()

[20-05-05][Thinking in Java 10]Java Polymorphism 4 - Downcasting

标签:his   package   ring   java 10   向下转型   static   stat   out   class   

原文地址:https://www.cnblogs.com/mirai3usi9/p/12830138.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!