diff --git a/s-day02/src/com/inmind/generic_tpf08/Demo10.java b/s-day02/src/com/inmind/generic_tpf08/Demo10.java new file mode 100644 index 0000000..be20716 --- /dev/null +++ b/s-day02/src/com/inmind/generic_tpf08/Demo10.java @@ -0,0 +1,33 @@ +package com.inmind.generic_tpf08; + +import java.util.ArrayList; + +/* +13.泛型通配符的使用(了解) ? +当我们要接受一个数据类型,它的泛型不一致,要使用泛型通配符,匹配? + */ +public class Demo10 { + public static void main(String[] args) { + //创建人和学生的2个集合 + ArrayList list1 = new ArrayList<>(); + list1.add(new Person("小王1", 18)); + list1.add(new Person("小王2", 18)); + //遍历打印集合中的内容 + showList(list1); + + ArrayList list2 = new ArrayList<>(); + list2.add(new Student("小王3", 18)); + list2.add(new Student("小王4", 18)); + //遍历打印集合中的内容 + showList(list2); + } + + /* + ArrayList 这样写的话是错的,泛型是没有多态的 + */ + public static void showList(ArrayList list){ + for (Object o : list) { + System.out.println(o); + } + } +} diff --git a/s-day02/src/com/inmind/generic_tpf08/Person.java b/s-day02/src/com/inmind/generic_tpf08/Person.java new file mode 100644 index 0000000..2dab766 --- /dev/null +++ b/s-day02/src/com/inmind/generic_tpf08/Person.java @@ -0,0 +1,22 @@ +package com.inmind.generic_tpf08; + +public class Person { + String name; + int age; + + public Person() { + } + + public Person(String name, int age) { + this.name = name; + this.age = age; + } + + @Override + public String toString() { + return "Person{" + + "name='" + name + '\'' + + ", age=" + age + + '}'; + } +} diff --git a/s-day02/src/com/inmind/generic_tpf08/Student.java b/s-day02/src/com/inmind/generic_tpf08/Student.java new file mode 100644 index 0000000..daf605e --- /dev/null +++ b/s-day02/src/com/inmind/generic_tpf08/Student.java @@ -0,0 +1,19 @@ +package com.inmind.generic_tpf08; + +public class Student extends Person{ + + public Student() { + } + + public Student(String name, int age) { + super(name, age); + } + + @Override + public String toString() { + return "Student{" + + "age=" + age + + ", name='" + name + '\'' + + '}'; + } +}