zoukankan      html  css  js  c++  java
  • 泛型接口。

    什么是泛型接口?

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

      泛型接口的格式:

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

    运行结果:

      

  • 相关阅读:
    DBA-常用到的动态视图分析语句
    SQL Server 复制(Replication) ——事务复制搭建
    SQL Server 不同网段IP通过名称访问
    [javaEE] HTTP协议总结
    [android] 从gallery获取图片
    [android] 加载大图片到内存
    [javaEE] web应用的目录结构&配置虚拟主机
    [android] 代码注册广播接收者&利用广播调用服务的方法
    [android] 采用aidl绑定远程服务
    [Linux] Linux的环境变量
  • 原文地址:https://www.cnblogs.com/bichen-01/p/14325024.html
Copyright © 2011-2022 走看看