泛型接口。

什么是泛型接口?

  使用了泛型定义的接口就是泛型接口。

  泛型接口的格式:

    修饰符 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;
    }
}

运行结果:

  泛型接口。