interface 名字
;public
,且都是static常量(容許省略public
、final
、static
、修飾符),抽象方法的訪問權限也都是public
。如interface Printable { int MAX = 100; void add(); float sum(float x ,float y); }
1.類實現接口:使用 implements
聲明該類實現接口,如:
class A implements Printable,Addable;
html
2.重寫接口中的方法:要非抽象類實現某個接口,那麼此類必須重寫接口中的全部方法。其中要去掉abstract
修飾符、給出方法體,且方法的訪問權限要明顯的用public
來修飾。
如果一個類實現一個接口,但沒有重寫接口中的全部方法,則此類必須是抽象類。如:java
interface Computable{ final int MAX = 100; void speak(String s); int f(int x); float g(float x, float y); } Abstract class A implements Computable{ public int f(int x) { int sum = 0; for(int i=1;i<=x;i++){ sum = sum +I; } return sum; } }
3.若是一個接口不加public
修飾,就稱做友好接口,能夠被與該接口在同一包中的類實現。
若父類實現了某個接口,那麼子類就天然實現了該接口,沒必要再聲明。
import
語句能夠引入包中的接口,如 import java.io.*;
git
接口回調指的是:能夠把實現某一接口的類建立的對象的引用賦值給該接口聲明的接口變量,那麼該接口變量就能夠調用被類實現的接口方法。(爲以後複習此重點概念,下爲引用書上示例程序)編程
interface ShowMessage { void 顯示商標(String s); } class TV implements ShowMessage { public void 顯示商標(String s) { System.out.println(s); } } class PC implements ShowMessage { public void 顯示商標(String s) { System.out.println(s); } } public class Example6_2 { public static void main(String args[]) { ShowMessage sm; //聲明接口變量 sm=new TV(); //接口變量中存放對象的引用 sm.顯示商標("長城牌電視機"); //接口回調。 sm=new PC(); //接口變量中存放對象的引用 sm.顯示商標("聯想奔月5008PC機"); //接口回調 } }
接口產生的多態是指不一樣的類在實現同一個接口時可能具備不一樣的實現方式,那麼接口變量在回調接口方式時就可能具備多種形態。markdown
若是一個方法的參數是接口類型,咱們就能夠將任何實現該接口的類的實例的引用傳遞給該接口參數,那麼接口參數就能夠回調類實現的接口方法。函數
implements
指令在類的聲明時使用。Math.sqrt(a*b);
,然而整個程序的代碼中沒有引入過Math類或是帶Math的包。問題2解決方案:通過上網查找發現,java.lang.Math
包是創建java工程時自動導入的。學習
println
而使用了printf
,雖不會有編譯運行上的錯誤,但因不換行致使以下圖很不美觀,不知爲什麼??問題3解決方案:並無獲得什麼硬核解答,所以問題對編程影響不大,故猜想此程序爲另外一位具備不一樣愛好的編者所寫。設計
教材學習中的問題和解決過程, 一個問題加1分調試
代碼調試中的問題和解決過程, 一個問題加1分code
遲交做業的扣至0分
1.正確使用Markdown語法(加1分):
2.模板中的要素齊全(加1分)
3.代碼調試中的問題和解決過程, 一個問題加1分
4.本週有效代碼超過300分行的(加2分)
第六章代碼學習、調試
四則運算器的構想
1.接口做爲一種用來提早聲明的特殊的類,因爲簡潔直觀,能夠普遍使用。
2.第一次java實驗練習讓我意識到寫一個符合功能需求的程序是一個比較複雜的過程,如今的基礎知識必定要紮實牢靠地進行學習。
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第一週 | 6/6 | 1/1 | 20/20 | |
第二週 | 245/251 | 1/2 | 18/38 | |
第三週 | 633/884 | 3/7 | 22/60 | |
第四周 | 305/1189 | 1/4 | 30/90 | |
第五週 | 410/1599 | 3/7 | 30/120 |
嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進本身的計劃能力。這個工做學習中很重要,也頗有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。
(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表)