Создаю интерфейс:
static interface A {
void Click(long id);
}
Я не могу понять какими свойствами будет обладать переменная, если ее инициализировать таким образом:
private A listener;
Что при такой инициализации происходит с переменной?
Какими данными или свойствами заполняется переменная?
Интерфейсная переменная это как бы ссылка на объект скажем так под определенным углом.
Допустим есть объект типа Стол
, у него есть методы сидеть за столом
, обедать за столом
, разобрать стол
, собрать стол
.
Есть теперь интерфейс типа Мебель
, у него 2 метода: разобрать мебель
и собрать мебель
.
Теперь, если объект типа Стол
присвоите к переменной типа Мебель
, то вы с переменной Мебель
не сможете сесть пообедать
, а сможете только собрать
и разобрать
.
Преимуществом такого подхода является, что вы точно также можете поступить со Стулом
, Диваном
и Шкафом
и сможете хранить/работать с множеством шкафов
, столов
и проч. мути как с Мебелью
- например хотя бы так:
ArrayList<Мебель> мебель;
Вместо того, чтобы писать:
ArrayList<Стол> столы;
ArrayList<Стул> стулья;
ArrayList<Шкаф> шкафы;
Как бы удобно...
Никакими, кроме тех, что описаны в интерфейсе. Т.е. у такого объекта можно дернуть только метод Click(long id) и все. Все остальное, какие бы поля и методы там в реальном объекте не существовали - вас не касается, в этом и смысл абстрактных интерфейсов - не думать о реализации.
Нужно нарисовать прямоугольный треугольник через циклыДолжно получиться так:
Совсем недавно начал использовать unit тестированиеС методами GET и POST, которым в явном виде передаю какие параметры вопросов уже не возникает
Есть массив дат - {"2017-06-17", "2017-06-19", "2017-06-16", "2017-06-18"}
Здравствуйте! Пишу игру, добавляю 2 картинку в JFrame - подставка, картошкаВсегда отображается по разному