直接看代码:- package com.itheima.bbs;
- /**
- * Person
- * @author Administrator
- *
- * @param <T>
- */
- public class Person<T> {
- public T getObject() {
- return null;
- }
- }
- package com.itheima.bbs;
- /**
- * Student 继承Person<String>
- * @author Administrator
- *
- */
- public class Student extends Person<String> {
- @Override
- public String getObject() {
- return "String";
- }
- }
- package com.itheima.bbs;
- /**
- * Student 继承Person<Integer>
- * @author Administrator
- *
- */
- public class Teacher extends Person<Integer> {
- @Override
- public Integer getObject() {
- return 1;
- }
-
- /**
- * 测试
- * @param args
- */
- public static void main(String[] args) {
- System.out.println(new Student().getObject().getClass()); //输出:class java.lang.String
- System.out.println(new Teacher().getObject().getClass()); //输出:class java.lang.Integer
- }
- }
复制代码 其实就是在继承的时候申明泛型的类型就可以了。跟使用一个泛型的集合差不多。
如果需要了解更多,可以读下JDK原代码,里面好多都用到了泛型。 |