Java自学笔记(三):进阶知识

目录

  • 泛型

泛型

参考网站:https://www.cnblogs.com/jpfss/p/9929108.html
https://www.cnblogs.com/jpfss/p/9929152.html

  1. 定义
    未指定特定的数据类型,编译的时候再具体化
  2. <T>T:表示方法返回值的类型由调用者决定,这时候相应类定义时不需要加
public class Demo{
private <T> T getListFisrt(List<T> data) {
        if (data == null || data.size() == 0) {
            return null;
        }
        return data.get(0);
    }
}
//第1个T:表示泛型
//第2个T:表示返回类型是T
//第3个T:表示输入参数类型是T
  1. T:方法的返回值类型为 T,在定义类的时候使用类名+
public class Demo<T>{
private T getListFisrt(List<T> data) {
        if (data == null || data.size() == 0) {
            return null;
        }
        return data.get(0);
    }
}
//返回值就是Demo<T>实例化传递的对象类型
  1. 补充:不确定类型class<?>
    使用示例:
Class<?> clazz = Class.forName("xuexi1.Puppy");   //forName("package name.class name")
Puppy xx = (Puppy)clazz.newInstance();      //指定类型,newInstance()
xx.work();    //调用Puppy类中的work方法作为测试
posted on 2020-08-09 23:56  pipony  阅读(76)  评论(0)    收藏  举报