TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #1025 3.11K
🤔 Как бы выразил полиморфизм в коде?

Это способность объектов разных классов реагировать на одинаковые методы по-разному. В Java полиморфизм достигается через наследование, переопределение методов и использование абстрактных классов или интерфейсов.

🚩Пример полиморфизма в коде

Наследование и переопределение методов
class Animal {
public void sound() {
System.out.println("Animal makes a sound");
}
}

class Dog extends Animal {
@Override
public void sound() {
System.out.println("Dog barks");
}
}

class Cat extends Animal {
@Override
public void sound() {
System.out.println("Cat meows");
}
}

public class Main {
public static void main(String[] args) {
Animal myDog = new Dog(); // Полиморфизм
Animal myCat = new Cat(); // Полиморфизм

myDog.sound(); // Вывод: Dog barks
myCat.sound(); // Вывод: Cat meows
}
}


Использование интерфейсов
interface Shape {
void draw();
}

class Circle implements Shape {
@Override
public void draw() {
System.out.println("Drawing a Circle");
}
}

class Rectangle implements Shape {
@Override
public void draw() {
System.out.println("Drawing a Rectangle");
}
}

public class Main {
public static void main(String[] args) {
Shape shape1 = new Circle(); // Полиморфизм
Shape shape2 = new Rectangle(); // Полиморфизм

shape1.draw(); // Вывод: Drawing a Circle
shape2.draw(); // Вывод: Drawing a Rectangle
}
}


Реальный пример использования полиморфизма
class Animal {
public void sound() {
System.out.println("Some generic animal sound");
}
}

class Dog extends Animal {
@Override
public void sound() {
System.out.println("Woof Woof");
}
}

class Cat extends Animal {
@Override
public void sound() {
System.out.println("Meow");
}
}

public class Main {
public static void main(String[] args) {
Animal[] animals = {new Dog(), new Cat(), new Animal()};

for (Animal animal : animals) {
animal.sound(); // Полиморфный вызов
}
}
}


Результат
Woof Woof
Meow
Some generic animal sound


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 19
More from @easy_java_ru
  1. Oct 9, 2026🤔 Что такое «HTML»? HTML (HyperText Markup Language) — это язык разметки, используемый дл…
  2. Oct 9, 2026🤔 В чём различие между LeftJoin , RightJoin и InnerJoin? LEFT JOIN, RIGHT JOIN и INNER JO…
  3. Oct 8, 2026Post #2955
  4. Oct 8, 2026🤔 Что такое поток "демон"? Демон-поток — это поток, который: - Работает на фоне (например…
  5. Oct 7, 2026🤔 Может ли Entity-класс быть абстрактным? Да, Entity может быть абстрактным, если он служ…
  6. Oct 7, 2026🤔 К какой категории сущности относится Primary Key? Primary Key (первичный ключ) в базах…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →