泛型接口。
什么是泛型接口?
使用了泛型定义的接口就是泛型接口。
泛型接口的格式:
修饰符 interface 接口名称<泛型变量>{
}
需求: 教务系统,提供一个接口可约束一定要完成数据(学生,老师)的增删改查操作
小结:
泛型接口的核心思想,在实现接口的时候传入真实的数据类型
这样重写的方法就是对该数据类型进行操作!
案例:
package com.ithei.泛型接口;
/**
* @program: javaDemo01->Fanxi_Interface
* @description: 泛型接口
* @author: 安生
* @create: 2021-01-25 14:07
**/
//需求:教务系统,提供一个接口可约束一定要完成数据(学生,老师)的增删改查操作
public class Fanxi_Interface {
public static void main(String[] args) {
//使用多态
Data<Student> studentData = new StudentData();
studentData.add(new Student());
studentData.delete(new Student());
Data<Teacher> teacherData = new TeacherData();
teacherData.add(new Teacher());
teacherData.delete(new Teacher());
}
}
//可以先定义一个泛型接口
interface Data<E> {
//里面有增删改查四个方法
void add(E data);
void delete(E date);
void update(E date);
E query(E date);
}
//定义学生类
class Student{}
//定义老师类
class Teacher{}
//定义泛型接口的学生实现类
class StudentData implements Data<Student>{
@Override
public void add(Student data) {
System.out.println("添加学生");
}
@Override
public void delete(Student date) {
System.out.println("删除学生");
}
@Override
public void update(Student date) {
}
@Override
public Student query(Student date) {
return null;
}
}
//定义泛型接口的老师实现类
class TeacherData implements Data<Teacher>{
@Override
public void add(Teacher data) {
System.out.println("添加老师");
}
@Override
public void delete(Teacher date) {
System.out.println("删除老师");
}
@Override
public void update(Teacher date) {
}
@Override
public Teacher query(Teacher date) {
return null;
}
}
运行结果: