Вызов методов классов через переменную в интерфейсе
Недавно нашел одну непростую для меня задачку.
Eсть три класса: Foreign professional, Professional, usual people, а также интерфейс People, в котором есть метод talk (он переопределен в выше перечисленных дочерних классах). Метод выводит в консоль фразу, в зависимости от класса: ForeignProfessoinal:
- Я иностранный профессионал
Professional
- я профессионал
Usual people
- я обычный человек
Задача состоит в том, чтобы создать List<String>, в котором через консоль нужно ввести его размерность. В последствии этот лист должен выдать эти фразы в рандомном порядке.
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args){
Professionals prof = new Professionals();
ForeignProfesionals ForProf = new ForeignProfesionals();
UsualPeople UsPeople = new UsualPeople();
Scanner scanner = new Scanner(System.in);
List<String> list = new ArrayList<String>();
Interface:
public interface People {
public void talk();
}
Class ForeignProfessionals:
public class ForeignProfesionals implements People{
@Override
public void talk() {
System.out.println("Я иностарнный профессионал");
}
}
Ответы (1 шт):
Автор решения: Gringo
→ Ссылка
попробуйте так .создать свой лист классов место String вставить List mainList;. и уже из списка вызывать нужный getName(). и уже отдельно работать с каждым классом .