Страницы

Поиск по вопросам

понедельник, 17 июня 2019 г.

Что означает конструкция с угловыми скобками <> при определении и использовании классов и интерфейсов?

В текстах программ на Java при определении и использовании классов и интерфейсов часто встречаются конструкции вида class SomeClass {...} или SomeClass myObj = new SomeClass или ещё что-то в этом роде. Что это такое и зачем?


Ответ

Это Generic types, который позволят потом определять тип.
public class GenericsType {
private T t;
public T get(){ return this.t; }
public void set(T t1){ this.t=t1; }
public static void main(String args[]){ GenericsType type = new GenericsType<>(); type.set("Pankaj"); //valid
GenericsType type1 = new GenericsType(); //raw type type1.set("Pankaj"); //valid type1.set(10); //valid and autoboxing support } }
Другой пример:
public interface MyInyerface { void print(E e); }
public class MyClass implements MyInyerface { @Override public void print(String s) {
}
class MyClassInteger implements MyInyerface{
@Override public void print(Integer integer) {
} } }
Вот тут указав тип данных, методы могут принимать только этот тип. Это нужно, если вам нужно на вход только определенный тип, и в случае, если передали другой тип, вы получите ошибку не во время компиляции, а во время анализа кода.
Подробнее можно почитать Тут и тут и вот тут еще

Комментариев нет:

Отправить комментарий