java實驗六 介面與實現
實驗一:
實驗目的:
掌握怎麼實現藉口
interface ComputerAverage{ public double average(double x[]); } class Gymnastics implements ComputerAverage{ public double average(double x[]){ int count=x.length; double aver=0,temp=0; for(int i=0;i<count;i++){ for(int j=i+1;j<count;j++){ if(x[j]<x[i]){ temp=x[j]; x[j]=x[i]; x[i]=temp; } } } for(int i=1;i<count-1;i++) aver+=x[i]; if(aver>2) aver/=(count-2); else aver=0; return aver; } } class School implements ComputerAverage{ double aver=0; public double average(double x[]){ for(int i=0;i<x.length;i++) aver+=x[i]; return aver/x.length; } } public class Main{ public static void main(String args[]){ double a[]={1,2,3,4,5,6,3,10,22,5,6}; double b[]={12,35,215,454,236,4546,121}; ComputerAverage computer=new Gymnastics(); double result=computer.average(a); System.out.println(result); computer=new School(); result=computer.average(b); System.out.println(result); } }
實驗二:
實驗目的
掌握介面回撥技術
interface ComputerWeight{ public double computerWeight(); } class Television implements ComputerWeight{ public double computerWeight(){ return 3.5; } } class Computer implements ComputerWeight{ public double computerWeight(){ return 2.67; } } class WashMachine implements ComputerWeight{ public double computerWeight(){ return 13.8; } } class Truck{ ComputerWeight[] goods; double totalWeights=0; Truck(ComputerWeight[] goods){ this.goods =goods; } public void setGoods(ComputerWeight[] goods){ this.goods =goods; } public double getTotalWeights(){ for(int i=0;i<goods.length;i++) totalWeights+=goods[i].computerWeight(); return totalWeights; } } public class Main{ public static void main(String args[]){ ComputerWeight[] goods=new ComputerWeight[650]; for(int i=0;i<goods.length;i++){ if(i%3==0) goods[i]=new Television(); else if(i%3==2) goods[i]=new Computer(); else goods[i]=new WashMachine(); } Truck truck=new Truck(goods); System.out.println(truck.getTotalWeights()); goods=new ComputerWeight[68]; for(int i=0;i<goods.length;i++){ if(i%2==0) goods[i]=new Television(); else goods[i]=new WashMachine(); } truck.setGoods(goods); System.out.println(truck.getTotalWeights()); } }
實驗三:
實驗目的:
掌握介面技術以及思想
interface dog{ public void showState(); } class SoftlyState implements dog{ public void showState(){ System.out.println("聽主人的命令"); } } class MeetEnemyState implements dog{ public void showState(){ System.out.println("狂叫"); } } class MeetFrientsState implements dog{ public void showState(){ System.out.println("搖尾巴"); } } class MeetAnotherState implements dog{ public void showState(){ System.out.println("玩耍"); } } class dogShow{ dog state; public void show(){ state.showState(); } public void setState(dog a){ state=a; } } public class Main{ public static void main(String args[]){ dogShow yellowDog=new dogShow(); System.out.println("狗在主人前面"); yellowDog.setState(new SoftlyState()); yellowDog.show(); System.out.println("狗在敵人前面"); yellowDog.setState(new MeetEnemyState()); yellowDog.show(); System.out.println("狗在朋友前面"); yellowDog.setState(new MeetFrientsState()); yellowDog.show(); System.out.println("狗在同伴前面"); yellowDog.setState(new MeetAnotherState()); yellowDog.show(); } }
相關推薦
java實驗六 介面與實現
實驗一: 實驗目的: 掌握怎麼實現藉口 interface ComputerAverage{ public double average(double x[]); } class Gymnasti
第六章 介面與實現
一、介面 介面是一種資料型別,使用關鍵字interface定義,包含介面宣告和介面體。 interface Printable { } 介面體中包含常量的宣告(沒有變數)和抽象方法兩部分。 介面體中所有常量的訪問許可權都是public,而且都是stati
201711671223《Java程式設計》第七週學習總結 第6章介面與實現
201711671223《Java程式設計》第七週學習總結 第6章介面與實現 教材內容學習總結 使用關鍵字interface在介面名字前定義一個介面,介面體中只有抽象方法,沒有變數和普通方法,無論常量還是方法一定都是public,且常量是static常量。介面有類來實現以便使用介面中的方法,
java面向物件——介面與方法實現
介面與方法實現 關鍵字interface implements public interface Smoking { public abstract void smoke(); } public 
介面與實現:實驗1
介面: package mypackage; public interface computerAverage { public abstract double average(double x[
《C語言介面與實現》實驗——格式化(Fmt_T)
實驗程式是用vc6編譯,一定注意副檔名為c,不是cpp,下載前面幾個測試程式(連結串列、表、原子中有下載連結)中直接將下面源程式覆蓋1.c的內容即可! 再次強烈建議在這些函式上設上斷點,按F11跟進去把原始碼走一遍,才有真正的學習效果! 源程式如下: #inc
Java重載重寫與實現方法的規則
aaa 必須 實現接口 權限 題目 重載方法 pro 類型 實訓 這幾天在實訓過程中做到了一個題,這個題目問的是 非抽象類實現接口後,必須實現接口中的所有抽象方法,除了abstract外,方法頭必須完全一致。這句話是錯誤的。然後在做錯以後自己總結一下重載 重寫 和實現的幾個
java監聽器的原理與實現
來看 class copyto 圖片 http size stat 順序 方法 監聽器模型涉及以下三個對象,模型圖如下: (1)事件:用戶對組件的一個操作,稱之為一個事件 (2)事件源:發生事件的組件就是事件源 (3)事件監聽器(處理器):監聽並負責處理事件的方法 執行順序
編程開發之--Java集合類繼承與實現必備知識
編程開發 next() int end long dha cos dHash IV 1、LinkedHashSet有序鏈式集合 舉例: long startTime=System.currentTimeMillis(); LinkedHashSet oprTypeSe
2.4 面向物件4:介面與實現
@介面與實現 介面定義了一組共性 這些共性體現為介面的抽象方法 抽象方法就是隻有方法定義,沒有方法實現的方法 接口裡有且只有抽象方法 介面可以有多種不同的具體子類實現 介面的作用是為子類實現提供統一的API
介面與實現分離
也許,你聽過設計模式裡的箴言,要針對介面程式設計,而不應該針對細節(具體)程式設計;或者你還聽過,要減少程式碼間的依賴關係;甚至你還知道,修改一個模組時,要保證重新編譯的檔案依賴要最小化,而重新編譯的時間最短化。當你問,How to?大神就會祭出嗯,你應該將介面與實現分離的經文。 我們在使用面嚮物件語言程式
Java學習筆記——介面與抽象類的區別
在某種意義上,介面是比抽象類更抽象的類,介面的作用更多是起到標準化、規範化的作用。 它們之間的區別: 1.抽象類可以有非抽象方法,而介面中只能有抽象方法(但在JDK1.8之後的版本中,介面可以擁有方法體,也就是說,介面也可以擁有非抽象方法了) 2.
(JavaSE)十五、介面與實現
什麼是介面: 硬體介面:指的是兩個硬體裝置之間的連線方式。硬體介面既包括物理上的介面,還包括邏輯上的資料傳送協議。 軟體介面:程式程式碼,特殊的類,表示一種規範,是具有的N個方法的特徵集合。 介面只定義了類應當遵循的規範,卻不關心這些類的內部資料和其功能的實現細節。站在程
C語言介面與實現[+]
static char rcsid[] = "$Id: H:/drh/idioms/book/RCS/text.doc,v 1.10 1996/06/26 23:02:01 drh Exp $"; #include <string.h> #include <limits.h> #
java中List介面的實現類 ArrayList,LinkedList,Vector 的區別 list實現類原始碼分析
java面試中經常被問到list常用的類以及內部實現機制,平時開發也經常用到list集合類,因此做一個原始碼級別的分析和比較之間的差異。 首先看一下List介面的的繼承關係: list介面繼承Col
java中外部介面與內部介面的使用
晚上寫連連看排行榜的時候,檢視SharedPreferences原始碼時發現了一個驚天的祕密。 為什麼一個介面中可以再定義介面呢? 後來自己網上查找了下資料,然後自己操作了一遍。這個內部類真好用,推薦大家開發中可以用。具體來說,就是你只實現了外部介面,那麼就必須實現外部介面
讀書筆記--C語言介面與實現--介面與實現
介面實現 重點內容在本書中的第二章中,介紹了介面的封裝例子。 1. 介面定義 C語言中可將介面封裝好,讓後以.h檔案作文擴充套件,簡單例子: extern int Arith_max(int x, int y); extern int Ari
Java的Lock介面與讀寫鎖
一、Lock介面與synchronized關鍵字 鎖是用來控制多個執行緒訪問共享資源的方式,一般來說,一個鎖能夠防止多個執行緒同時訪問共享資源(但是有些鎖可以允許多個執行緒併發的訪問共享資源,比如讀寫鎖)。在L
繼承介面與實現介面的理解
在我學習的過程中發現對兩個相似的概念很難理解,就是實現介面和繼承介面,我在網上也查了查答案,發現不是我想要的回答。我就是想弄清楚一個類實現一個介面和繼承一個介面有什麼區別,因為我發現就沒有區別,繼承和實現了之後都得重寫所有的抽象方法。 現在,