成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳細(xì)介紹Java接口的作用

開發(fā) 后端
本文介紹的是java中的接口的作用,希望對大家有幫助,一起來看 。

接口的概念其實并不難理解, 接口關(guān)鍵字Interface, 在使用時可以只定義函數(shù)體而不需求詳細(xì)的實現(xiàn)。 再類的繼承過程中可以實現(xiàn)多個接口而取代了類的多繼承。 使用接口其實就有點像實現(xiàn)虛函數(shù)的調(diào)用一樣, 用繼承接口的子類實例化聲名得借口就可以經(jīng)過接口調(diào)用子類外部接口定義的函數(shù)。

使用這種接口方式編程, 如果業(yè)務(wù)邏輯發(fā)生變化需求新增類多辦法, 就可以再不改動原來已經(jīng)寫好的代碼基礎(chǔ)上新增一個類來實現(xiàn)接口中定義的函數(shù)來實現(xiàn)。 詳細(xì)辦法請看下面兩個例子:

1、JAVA多態(tài)接口動態(tài)加載實例

用來計算每一種交通工具運轉(zhuǎn)1000公里所需的工夫, 已知每種交通工具的參數(shù)都是3個整數(shù)A、B、C的表達(dá)式。 現(xiàn)有兩種工具:

Car 和Plane, 其中Car 的速度運算公式為:A*B/C

Plane 的速度運算公式為:A+B+C。

需求編寫三類:ComputeTime. java, Plane. java, Car007. java和接口Common. java, 要求在未來如果添加第3種交通工具的時候, 不必修正以前的任何程序, 只需求編寫新的交通工具的程序。 其運轉(zhuǎn)過程如下, 從命令行輸入ComputeTime的四個參數(shù), 第一個是交通工具的類型, 第二、三、四個參數(shù)分別時整數(shù)A、B、C, 舉例如下:

計算Plane的工夫:"java ComputeTime Plane 20 30 40"

計算Car007的工夫:"java ComputeTime Car007 23 34 45"

如果第3種交通工具為Ship, 則只需求編寫Ship. java, 運轉(zhuǎn)時輸入:"java ComputeTime Ship 22 33 44"
提示:充沛應(yīng)用接口的概念, 接口對象充當(dāng)參數(shù)。

實例化一個對象的另外一種辦法:Class. forName(str). newInstance();例如需務(wù)實例化一個Plane對象的話, 則只要調(diào)用Class. forName("Plane"). newInstance()便可。

Java代碼  

  1. import CalTime. vehicle. all. Common;  
  2. import java. lang. *;  
  3. public interface Common . . . {  
  4. double runTimer(double a, double b, double c);  
  5. }  
  6. public class Plane implements Common  . . . {  
  7. public double runTimer(double a, double b, double c)  . . . {  
  8. return (a+ b + c);  
  9. }  
  10. }  
  11. public class Car implements Common . . . {  
  12. public double runTimer(double a, double b, double c) . . . {  
  13. return ( a*b/c );  
  14. }  
  15. }  
  16. public class ComputeTime . . . {  
  17. public static void main(String args[])  . . . {  
  18. System. out. println("交通工具: "+args[0]);  
  19. System. out. println(" 參數(shù)A: "+args[1]);  
  20. System. out. println(" 參數(shù)B: "+args[2]);  
  21. System. out. println(" 參數(shù)C: "+args[3]);  
  22. double A=Double. parseDouble(args[1]);  
  23. double B=Double. parseDouble(args[2]);  
  24. double C=Double. parseDouble(args[3]);  
  25. double v, t;  
  26. try  . . . {  
  27. Common d=(Common) Class. forName("CalTime. vehicle. "+args[0]). newInstance();  
  28. v=d. runTimer(A, B, C);  
  29. t=1000/v;  
  30. System. out. println("均勻速度: "+v+" km/h");  
  31. System. out. println("運轉(zhuǎn)工夫:"+t+" 小時");  
  32. }  catch(Exception e)    . . . {  
  33. System. out. println("class not found");  
  34. }  
  35. }  

以前看過一個求形狀的標(biāo)題就是有兩個圓形求交集現(xiàn)在定義了兩種狀況問要是擴展大別的狀況該當(dāng)怎樣設(shè)計, 想了很久不得其解, 現(xiàn)在突然覺得接口通殺矣~

2、JAVA接口作為參數(shù)傳遞

可以將接口類型作為方法參數(shù), 在使用時可以將實現(xiàn)了接口的類傳遞給方法,實際調(diào)用的是實現(xiàn)類中的方法代碼體, 這樣便根據(jù)傳入的參數(shù)的不同而實現(xiàn)不同的功能。 重要的是, 當(dāng)我當(dāng)前需要另外一個對象并且擁有承受所聲明的方法的時候, 我們不必須原類, 只需新的類實現(xiàn)接口即可。

Java代碼  

  1. import java. lang. *;  
  2. interface Extendbroadable . . . {  
  3. public void inPut();  
  4. }  
  5. class KeyBroad implements Extendbroadable . . . {  
  6. public void inPut() . . . {  
  7. System. out. println("  hi, keybroad has be input into then mainbroad! ");  
  8. }  
  9. }  
  10. class NetCardBroad implements Extendbroadable . . . {  
  11. public void inPut() . . . {  
  12. System. out. println("  hi, netCardBroad has be input into then mainbroad! ");  
  13. }  
  14. }  
  15. class CheckBroad . . . {  
  16. public void getMainMessage(Extendbroadable ext). . . {  
  17. ext. inPut();  
  18. }  
  19. }  
  20. public class InterfaceTest01 . . . {  
  21. public static void main(String []args) . . . {  
  22. KeyBroad kb=new KeyBroad();  
  23. NetCardBroad ncb=new NetCardBroad();  
  24. CheckBroad cb=new CheckBroad();  
  25. cb. getMainMessage(kb);  
  26. cb. getMainMessage(ncb);  
  27. }  

希望通過以上對于JAVA接口的介紹,能夠幫助到你。

責(zé)任編輯:于鐵 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-11 16:55:31

Java

2011-07-22 13:00:46

java

2009-12-25 16:09:14

NGN用戶接入技術(shù)

2010-03-18 18:20:34

Java Socket

2011-07-11 15:02:54

枚舉

2011-07-11 17:33:25

JAVA可移植性

2011-07-21 13:51:38

java

2011-07-21 14:15:08

java

2011-07-21 15:44:33

Java內(nèi)部類

2010-03-18 14:27:53

Java Thread

2009-06-11 10:00:05

Java Socket

2011-07-11 11:02:12

JAVA集合框架

2011-07-22 17:41:02

java

2021-05-29 07:16:13

JavaSerializabl接口

2024-06-13 10:05:36

2010-04-06 13:33:41

Oracle服務(wù)

2009-06-18 09:47:14

Spring的核心

2011-11-29 12:13:21

VPN

2010-03-18 15:47:07

Java創(chuàng)建線程

2011-06-08 15:45:41

字符串JAVA
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产成人精品视频在线观看 | 爱草在线 | 国产精品视频综合 | 日韩在线一区二区三区 | 日本二区| 婷婷久久五月 | 午夜寂寞福利视频 | 99精品免费视频 | 国产乱码精品一区二三赶尸艳谈 | 成人影院在线 | 日本一区二区三区在线观看 | 国产精品九九九 | 俺去俺来也www色官网cms | 国产一区亚洲二区三区 | 人妖一区 | 欧美激情一区 | 久久久久久久一区二区三区 | 亚洲视频精品在线 | 日韩av电影在线观看 | 国产黄色精品 | 在线欧美亚洲 | 婷婷丁香综合网 | 亚洲国产精品久久久久婷婷老年 | 国产精品二区三区在线观看 | 日韩波多野结衣 | 免费成人高清在线视频 | 午夜视频精品 | 91精品国产综合久久精品图片 | www.色五月.com| 偷拍第一页 | 一区二区三区视频在线观看 | 中文字幕一区二区三区精彩视频 | 国产在线观看一区二区 | 亚州精品天堂中文字幕 | 精品欧美乱码久久久久久1区2区 | 99婷婷 | 精品欧美一区二区精品久久久 | www.久久99 | 亚洲精品久久久久国产 | 国产精品久久久亚洲 | 亚洲啪啪 |