diff --git a/s-day02/src/com/inmind/generic_tpf08/Demo10.java b/s-day02/src/com/inmind/generic_tpf08/Demo10.java index be20716..115f24f 100644 --- a/s-day02/src/com/inmind/generic_tpf08/Demo10.java +++ b/s-day02/src/com/inmind/generic_tpf08/Demo10.java @@ -5,6 +5,12 @@ import java.util.ArrayList; /* 13.泛型通配符的使用(了解) ? 当我们要接受一个数据类型,它的泛型不一致,要使用泛型通配符,匹配? + +---------------------------------------- + +格式: + :泛型的类型只能是B类型或者B类型的子类;上限 + : 泛型的类型只能是B类型或者B类型的父类;下限 */ public class Demo10 { public static void main(String[] args) { @@ -25,9 +31,21 @@ public class Demo10 { /* ArrayList 这样写的话是错的,泛型是没有多态的 */ - public static void showList(ArrayList list){ +// public static void showList(ArrayList list){ + //受限泛型的上限 + public static void showList(ArrayList list){ + for (Person p : list) { + System.out.println(p); + p.show(); + p.method(); + } + } + + + //受限泛型的下限 + /*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 index 2dab766..ef48f71 100644 --- a/s-day02/src/com/inmind/generic_tpf08/Person.java +++ b/s-day02/src/com/inmind/generic_tpf08/Person.java @@ -19,4 +19,12 @@ public class Person { ", age=" + age + '}'; } + + public void show(){ + System.out.println("人类型可以调用的方法"); + } + + public void method(){ + System.out.println("父类非私有功能"); + } } diff --git a/s-day02/src/com/inmind/generic_tpf08/Student.java b/s-day02/src/com/inmind/generic_tpf08/Student.java index daf605e..9f224d9 100644 --- a/s-day02/src/com/inmind/generic_tpf08/Student.java +++ b/s-day02/src/com/inmind/generic_tpf08/Student.java @@ -16,4 +16,14 @@ public class Student extends Person{ ", name='" + name + '\'' + '}'; } + + @Override + public void show() { + System.out.println("学生重写show"); + } + + @Override + public void method() { + System.out.println("学生重写method"); + } }