A. java中implements是什麼意思在什麼時候使用
implements實現的意思。在Java中是實現介面時使用implements。
extends是繼承父類,只要那個類不是聲明為final或者那個類定義為abstract的就能繼承
JAVA中不支持多重繼承,但是可以用介面來實現,這樣就要用到implements,繼承只能繼承一個類,
但implements可以實現多個介面,用逗號分開就行了比如:
classAextendsBimplementsC,D,E
介面實現的注意點:
a.實現一個介面就是要實現該介面的所有的方法(抽象類除外)。
b.介面中的方法都是抽象的。
c.多個無關的類可以實現同一個介面,一個類可以實現多個無關的介面。
與Extends的不同
extends,可以實現父類,也可以調用父類初始化this.parent()。而且會覆蓋父類定義的變數或者函數。這樣的好處是:架構師定義好介面,讓工程師實現就可以了。整個項目開發效率和開發成本大大降低。implements,實現父類,子類不可以覆蓋父類的方法或者變數。即使子類定義與父類相同的變數或者函數,也會被父類取代掉。
這兩種實現的具體使用,是要看項目的實際情況,需要實現,不可以修改implements,只定義介面需要具體實現,或者可以被修改擴展性好,用extends。
B. java中E,T,的區別
java泛型中E和T是可以隨便起名的,只是大家習慣用E和T,一傳十十傳百大家一看到<E>和<T>就知道是泛型了,所以這只是習慣使然。比如:
是不影響運行的。
至於?,?是用於定義泛型的通配符和邊界,一般比較常見的是<? extends T>,可以參考一下這篇資料
C. java 如何將一個list中的值全部復制到另一個list中
ArrayList<String> list1 = new ArrayList<String>();
list1.add("b");
list1.add("d");
// System.out.println(list1);
ArrayList<String> list2=new ArrayList<String>();
list2.addAll(list1);//將list1添加到list2中
System.out.println(list2);