讓我們有下面的類:通用構造
public class MyClass<T>{
public <E> MyClass(E e){ System.out.println(e.toString);}
}
public class Main{
public static void main(String[] args){
new MyClass(new String("string"));//will be invoked comstructor MyClass(Object)
}
}
當我們創建一個新的實例類的調用首先這類誰調用的構造函數的方法是已知的。 問題:
- 這是真的,通過構造函數的返回值的默認類型是
void
? - 是否從類型擦除之後構造函數
public <E> MyClass(E e){ System.out.println(e.toString);}
相當於public MyClass(Object o){ System.out.println(o.toString);}
?
構造函數不能返回任何東西。 – Steven
@ St.Antario:你定義的東西不是構造函數。這只是另一種方法。 –
@EnnoShioji。怎麼樣?這是一個通用的構造函數。 –