Пусть у нас есть следующий класс:
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
? - Является ли стирание типа from после этого конструктора
public <E> MyClass(E e){ System.out.println(e.toString);}
эквивалентнымpublic MyClass(Object o){ System.out.println(o.toString);}
?
E
здесь совершенно не нужен - person newacct   schedule 08.10.2013