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;
        }
    }

    运行结果:

      

  • 相关阅读:
    SourceTree使用教程(六)--回滚版本到某次提交
    SourceTree使用教程(四)---冲突解决
    Git 分支合并后回退的几种情况分析
    HTTP认证之基本认证——Basic(二) _
    C#3.0中自动属性和对象初始化器
    C# 3.0新特征之创建和初始化集合对象
    SQL 用多个条件进行排序;以及根据一个条件的多个值,进行排序
    如何修改 .NET Core Kestrel 下的端口
    存储过程
    mysql临时表用法分析【查询结果可存在临时表中】
  • 原文地址:https://www.cnblogs.com/bichen-01/p/14325024.html
Copyright © 2011-2022 走看看