[20-05-13][Thinking in Java 13]Java Interfaces 3 - Multiple Interfaces
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了[20-05-13][Thinking in Java 13]Java Interfaces 3 - Multiple Interfaces,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2310字,纯文字阅读大概需要4分钟。
内容图文
1 package test_11_1; 2 3 public interface CanFight { 4 5 void fight(); 6 }
1 package test_11_1; 2 3 public interface CanSwim { 4 5 void swim(); 6 }
1 package test_11_1; 2 3 public interface CanFly{ 4 5 void fly(); 6 }
1 package test_11_1; 2 3 public interface CanFlyStop { 4 5 void flyStop(); 6 }
1 package test_11_1; 2 3 public interface CanFlyHigh extends CanFly, CanFlyStop{ 45void flyHigh(); 6 }
1 package test_11_1; 2 3 public interface CanFlyLow extends CanFly, CanFlyStop{ 45void flyLow(); 6 }
1 package test_11_1; 2 3 public class ActionCharacter { 4 5 public void fight() { 6 System.out.println("ActionCharacter fight"); 7 } 8 }
1 package test_11_1; 2 3 public class Hero extends ActionCharacter implements CanFight, CanSwim, CanFlyHigh, CanFlyLow { 4 5// 未直接继承接口CanFly和CanFlyStop,但CanFlyHigh及CanFlyLow继承接口CanFlyHigh和CanFlyStop 6// fight()在基类ActionCharacter中已提供定义,所以即使Hero中未显式提供fight定义,也可以创建Hero对象 7 @Override 8publicvoid fly() { 9 System.out.println("Hero fly"); 10 } 1112 @Override 13publicvoid flyStop() { 14 System.out.println("Hero flyStop"); 15 } 1617 @Override 18publicvoid flyLow() { 19 System.out.println("Hero flyLow"); 20 } 2122 @Override 23publicvoid flyHigh() { 24 System.out.println("Hero flyHigh"); 25 } 2627 @Override 28publicvoid swim() { 29 System.out.println("Hero flySwim"); 30 } 3132 }
1 package test_11_1; 2 3 public class Adventure { 4 5 public static void t(CanFight x) { 6 x.fight(); 7 } 8 9 public static void u(CanSwim x) { 10 x.swim(); 11 } 12 13 public static void v(CanFly x) { 14 x.fly(); 15 } 16 17 public static void w(CanFlyStop x) { 18 x.flyStop(); 19 } 20 21 public static void x(CanFlyHigh x) { 22 x.flyHigh(); 23 x.fly(); 24 x.flyStop(); 25 } 26 27 public static void y(CanFlyLow x) { 28 x.flyLow(); 29 x.fly(); 30 x.flyStop(); 31 } 32 33 public static void z(ActionCharacter x) { 34 x.fight(); 35 } 36 37 public static void main(String[] args) { 38 39 Hero hero = new Hero(); 40// Hero可依次向上转型为每一个接口41 t(hero); 42 u(hero); 43 v(hero); 44 w(hero); 45 x(hero); 46 y(hero); 47 z(hero); 48 } 4950 }
结果如下:
ActionCharacter fight
Hero flySwim
Hero fly
Hero flyStop
Hero flyHigh
Hero fly
Hero flyStop
Hero flyLow
Hero fly
Hero flyStop
ActionCharacter fight
原文:https://www.cnblogs.com/mirai3usi9/p/12885377.html
内容总结
以上是互联网集市为您收集整理的[20-05-13][Thinking in Java 13]Java Interfaces 3 - Multiple Interfaces全部内容,希望文章能够帮你解决[20-05-13][Thinking in Java 13]Java Interfaces 3 - Multiple Interfaces所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。