首页 > 其他分享 >2、自定义泛型

2、自定义泛型

时间:2023-02-14 22:46:30浏览次数:45  
标签:自定义 接口 类型 泛型 JUnit 测试方法

1.自定义泛型类

1、基本语法

  • class 类名 <T,R...> { //...表示可以有多个泛型

    ​ 成员

    }

2、细节

  1. 普通成员可以使用泛型(属性,方法)
  2. 使用泛型的数组,不能初始化
  3. 静态方法中不能使用类的泛型
  4. 泛型类的类型,是在创建对象时确定的(因为创建对象时,需要指定确定类型)
  5. 如果在创建对象时,没有指定类型,默认为Object

2. 自定义泛型接口

1、基本语法

interface 接口名L<T,R...> {

}

2、细节

  1. 接口中,静态成员也不能使用泛型(这个和泛型类规定一样)
  2. 泛型接口的类型,在继承接口或者实现接口时确定
  3. 没有指定类型,默认为Object

3.自定义泛型方法

1、基本语法

修饰符<T,R...> 返回类型 方法名(参数列表) {

}

2、细节

  1. 泛型方法,可以定义在普通类中,也可以定义在泛型类中
  2. 当泛型方法被调用时,类型会确定
  3. public void eat(E e) {} 修饰符后没有<T,R...> eat 方法不是泛型类型,而是使用了泛型

4.泛型的继承和通配符

  1. 泛型不具备继承性

    List list = new ArrayList(); // 不对

  2. : 支持任意泛型类型
  3. : 支持A类以及A类的子类,规定了泛型的上限
  4. : 支持A类以及A类的父类,不限于直接父类,规定了泛型的下限

5、JUnit

  1. 一个类有很多功能代码需要测试,为了测试,就需要写入到main方法中
  2. 如果有多个功能代码测试,就需要来回注销,切换和麻烦
  3. 如果可以直接运行一个方法,就方便很多,并且可以给出相关信息,就好了 -> JUnit
  4. JUnit是一个Java语言的单元测试框架
  5. 多数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

相关文章