@aqau123

Что это значит в джаве?

Animal a = new Dog();
что это означает и зачем так делать?
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
У одного интерфейса могут быть несколько реализаций.
Animal - это интерфейс.
Соответственно, есть разные реализации. Например,
interface Animal {}
class Dog implements Animal {}
class Cat implements Animal {}


Вот, представьте следующую ситуацию. Вам необходимо написать либу для работы с БД. Притом БД могут быть разные. Это может быть и MySQL, PostgreSQL, SQLite и т.д.
Но у них у всех (независимо от БД) есть некие общие методы. Например, connect() & disconnect()
Тогда создается некий интерфейс Connection
inteface Connection {
connect(){}
disconnect{}
}

Дальше создаются классы. Например,
class MySQLConnection implements Connection {}
class PostgreSQL implements Connection {}

и т.д.
в которых методы connect() & disconnect() реализуются.

Ну а дальше чтобы подключиться например к БД MySQL используют
Connection c = new MySQLConnection();
c.connect();

Если завтра попросят подключиться к другой БД, то поменяется только new MySQLConnection();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
AgentSmith
@AgentSmith
Это мой правильный ответ на твой вопрос
Книгу по Java даже не открывал, да?
Это ООП
Ответ написан
xez
@xez Куратор тега Java
TL Junior Roo
Животное a = Собака (новая);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы