1.自定义泛型类
1、基本语法
-
class 类名 <T,R...> { //...表示可以有多个泛型
成员
}
2、细节
- 普通成员可以使用泛型(属性,方法)
- 使用泛型的数组,不能初始化
- 静态方法中不能使用类的泛型
- 泛型类的类型,是在创建对象时确定的(因为创建对象时,需要指定确定类型)
- 如果在创建对象时,没有指定类型,默认为Object
2. 自定义泛型接口
1、基本语法
interface 接口名L<T,R...> {
}
2、细节
- 接口中,静态成员也不能使用泛型(这个和泛型类规定一样)
- 泛型接口的类型,在继承接口或者实现接口时确定
- 没有指定类型,默认为Object
3.自定义泛型方法
1、基本语法
修饰符<T,R...> 返回类型 方法名(参数列表) {
}
2、细节
- 泛型方法,可以定义在普通类中,也可以定义在泛型类中
- 当泛型方法被调用时,类型会确定
- public void eat(E e) {} 修饰符后没有<T,R...> eat 方法不是泛型类型,而是使用了泛型
4.泛型的继承和通配符
-
泛型不具备继承性
List
- : 支持任意泛型类型
- : 支持A类以及A类的子类,规定了泛型的上限
- : 支持A类以及A类的父类,不限于直接父类,规定了泛型的下限
5、JUnit
- 一个类有很多功能代码需要测试,为了测试,就需要写入到main方法中
- 如果有多个功能代码测试,就需要来回注销,切换和麻烦
- 如果可以直接运行一个方法,就方便很多,并且可以给出相关信息,就好了 -> JUnit
- JUnit是一个Java语言的单元测试框架
- 多数Java的开发环境都已经集成了JUnit作为单元测试的工具
1.测试方法必须使用public权限修饰,Method show() should be public
2.测试方法不能有返回值,返回值类型只能写void,Method show() should be void
3.测试方法不能有参数,必须是无参,Method show should have no parameters
4.测试方法, 声明一定需要使用@Test注解,否则不识别
e.getClass().getSimpleName()
e.getClass().getSimpleName() 只显示类名
标签:自定义,接口,类型,泛型,JUnit,测试方法 From: https://www.cnblogs.com/muzhe777/p/17121112.html