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

    运行结果:

      

  • 相关阅读:
    axis2 WebService 请求参数xml格式
    钉钉扫码登录第三方,appSecret签名算法(附包名)
    win10 IE浏览器中,设置指定程序查看源文件,设置查看源默认程序
    myeclipse CI 2018.8.0和 myeclipse 10 禁止空格自动上屏,自动补全插件
    开发必备网站记录
    二叉树的前序中序后序遍历(简洁)
    贪心算法入门
    Java-二分查找与二叉树关系详解-2021-7-20
    Visual Studio Code快速创建模板(html等)
    java 面向对象1之继承
  • 原文地址:https://www.cnblogs.com/bichen-01/p/14325024.html
Copyright © 2011-2022 走看看