- 相關(guān)推薦
java中extends與implements區(qū)別
繼承和接口兩者間的區(qū)別有多種解釋?zhuān)嘈庞猩俨糠殖醪搅私獾臅r(shí)候有些困惑,在這里發(fā)表了個(gè)人理解的解釋?zhuān)绻隳芸吹枚蔷透昧耍阋呀?jīng)是大神了請(qǐng)忽略這篇理解不完整的解釋吧!
首先,看看他兩個(gè)概念,跟其隨后是通熟易懂的口水話來(lái)解釋。
[extends:繼承類(lèi)]。我們定義了一個(gè)類(lèi),類(lèi)里面有方法體(是一些功能的實(shí)現(xiàn)),在另外的類(lèi)中有需求我們前面定義的類(lèi)里面的功能,那么可使用extends這個(gè)關(guān)鍵字來(lái)繼承前類(lèi)的功能。我們可將前面的那個(gè)類(lèi)稱為父類(lèi),后面的那個(gè)類(lèi)稱為子類(lèi),就像兒子繼承父親一些事物,如財(cái)產(chǎn)。表示為 子類(lèi) extends 父類(lèi)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | //建一個(gè)A類(lèi) class A{ //成員變量 其中num是實(shí)參 int num=0; //成員方法,其中 i 是型參 public A(int i){ //輸入int型文件輸出下面 System.out.println("aaaaaaaaaaaaaaaaaaa"); System.out.println("i= "+i); //把輸入的i賦值給成員變量num num=i; } } //B繼承A class B extends A{ int num=0; //成員方法B. public B(){ //繼承類(lèi)A的方法.因?yàn)锽繼承了A必然繼承了A的特性.所以輸入int值10令方法實(shí)現(xiàn). super(10); System.out.println("bbbbbbbbbbbbbbbbbbbb"); //這里的num是類(lèi)B的. System.out.println("num= "+num); //如果想顯示類(lèi)A的num則需要用下列的super.num.這里注意num在類(lèi)A中需是成員變量才可以. System.out.println("super.num= "+super.num); } } //建立測(cè)試類(lèi)C public class C{ //main public static void main(String aa[]){ //new 一個(gè)對(duì)象B() new B(); } } |
[implements:一般指實(shí)現(xiàn)接口]。一個(gè)類(lèi)實(shí)現(xiàn)接口類(lèi)時(shí)用的關(guān)鍵詞。Object implements Object 如java 中定義的接口Animal ,實(shí)現(xiàn)接口的類(lèi) 定義如下: public class Tiger implements Animal
{
}
【java中extends與implements區(qū)別】相關(guān)文章:
Java中定義與聲明的區(qū)別05-21
java中l(wèi)ength和length()的區(qū)別08-24
java中String和StringBuffer的區(qū)別08-01
Java中hashmap和hashtable的區(qū)別06-20
Java中的堆和棧的區(qū)別10-01
java中i++和++i的區(qū)別10-26
Java與Java web的區(qū)別09-30