import java.util.ArrayList; //如何调用eat方法啊??? public class Test { public static void main(String[] args) { ArrayList<lihuacat>list1=new ArrayList<>(); ArrayList<bosicat>list2=new ArrayList<>(); ArrayList<hashiqidog>list3=new ArrayList<>(); ArrayList<taididog>list4=new ArrayList<>(); keepPet1(list1); } //要求1 所有猫 public static void keepPet1(ArrayList<? extends cat>list){ for (cat animal : list) { animal.eat(); } } //要求2 所有狗 public static void keepPet2(ArrayList<? extends dog>list){ } //要求3 所有动物 public static void keepPet(ArrayList<? extends Animal>list){ } } 如何调用eat方法
理解问题import java.util.ArrayList; //如何调用eat方法啊??? public class Test { public static void main(String[] args) { ArrayList<lihuacat>list1=new ArrayList<>(); ArrayList<bosicat>list2=new ArrayList<>(); ArrayList<hashiqidog>list3=new ArrayList<>(); ArrayList<taididog>list4=new ArrayList<>(); keepPet1(list1); } //要求1 所有猫 public static void keepPet1(ArrayList<? extends cat>list){ for (cat animal : list) { animal.eat(); } } //要求2 所有狗 public static void keepPet2(ArrayList<? extends dog>list){ } //要求3 所有动物 public static void keepPet(ArrayList<? extends Animal>list){ } } 如何调用eat方法
已完成理解「import java.util.ArrayList; //如何调用eat方法啊??? public class Test { public static void main(String[] args) { ArrayList<lihuacat>list1=new ArrayList<>(); ArrayList<bosicat>list2=new ArrayList<>(); ArrayList<hashiqidog>list3=new ArrayList<>(); ArrayList<taididog>list4=new ArrayList<>(); keepPet1(list1); } //要求1 所有猫 public static void keepPet1(ArrayList<? extends cat>list){ for (cat animal : list) { animal.eat(); } } //要求2 所有狗 public static void keepPet2(ArrayList<? extends dog>list){ } //要求3 所有动物 public static void keepPet(ArrayList<? extends Animal>list){ } } 如何调用eat方法」
展开阅读网页
- 泛型方法允许在调用时指定具体类型。
泛型方法调用
- 指定具体类型:调用泛型方法时,需要在方法名前的尖括号中放入具体的类型。例如,
TestFX.<Integer>getFirst(123, 456);
。3 - 调用keepPet1方法:由于
keepPet1
方法接受一个ArrayList<? extends cat>
类型的参数,你需要传递一个cat
的子类类型的ArrayList
。例如,keepPet1(list1);
,其中list1
是ArrayList<lihuacat>
类型,lihuacat
是cat
的子类。1 - 调用keepPet2和keepPet3:类似地,
keepPet2
和keepPet3
方法也需要传递相应的dog
或Animal
的子类类型的ArrayList
。由于示例中没有提供eat
方法的具体实现,你需要确保cat
和dog
类中有eat
方法的定义。56