Прежде всего я создаю класс Person для хранения некоторой информации
public class Person {
private String name, surname;
public Person (String name, String surname){
this.name = name;
this.surname = surname;
}
public String toString (){
return "Person: " + surname + " " + name;
}
}
После чего я создаю общий класс с тремя подклассами, наследую от общего класса.
public class Data {
// Class of Car
public class Car extends Data {
private String Mark;
public Car (String Mark){
this.Mark = Mark;
}
public String toString (){
return "Car: " + Mark;
}
}
// Class of House
public class House extends Data {
private String Adress;
public House (String Adress){
this.Adress = Adress;
}
public String toString (){
return "House: " + Adress;
}
}
// Class of Work
public class Work extends Data {
private String Work;
public Work (String Work){
this.Work = Work;
}
public String toString (){
return "Work: " + Work;
}
}
}
После чего я создаю главный класс
public class MainClass {
// Массив Map
public static Map <Person, List <? extends Data>> info =
new HashMap <Person, List <? extends Data>> ();
// Вывод информации
public static void ShowInfo (){
for (Person person : info.keySet()){
System.out.println (person);
for (Data e : info.get(person)){
System.out.println(e);
}
}
}
// Как ставить аргумент типа Arrays.asList ();???
public static void addPerson (Person person){
}
public static void main(String[] args) {
// Как передать этот участок кода как аргумент методу?
info.put(new Person ("Nikolay", "Nikolaev"),
Arrays.asList(
new Data().new Car ("Jiguli"),
new Data().new House ("Muhosransk"),
new Data().new Work ("alcogolic")));
ShowInfo ();
}
}
И тут у меня возникает проблема, а именно, как передать вот этот участок кода
info.put(new Person ("Nikolay", "Nikolaev"),
Arrays.asList(
new Data().new Car ("Jiguli"),
new Data().new House ("Muhosransk"),
new Data().new Work ("alcogolic")));
Как аргумент в эту функцию
// Как ставить аргумент типа Arrays.asList ();???
public static void addPerson (Person person){
}