zoukankan      html  css  js  c++  java
  • 泛型的概念

    //泛型
    //泛型类 泛型接口 泛型方法 泛型的属性
    //泛型的属性 优点:属性的数据类型由调用方来决定属性的数据类型
    //Interger 是int的封装类
    //character 是cha的封装类
    //必定只能是 类 而不是基础数据类型的关键字
    //泛型优势:方便扩张

    泛型的属性:

    // Person<String, Integer, Character>p=new Person<>();
    // p.setPname("zs");
    // p.setPage(18);
    // p.setPsex('女');
    // System.out.println(p.getPname());

    //泛型的方法:

    // PersonMethod<String> pm=new PersonMethod<>();
    // String s=pm.getValue("zs");
    // System.out.println(s);

    //泛型接口:

    package com.temp;

    import java.util.List;
    /**
    * 泛型的结果 实现 可以在实现类中定义号,也可以在调用的时候定义
    * 接口实现接口 实现类实现类
    * 基础接口 自定义接口
    * @author 公子
    *
    * @param <E>
    */

    public interface IBaseFace<E> {
    /**
    * 增加的公共方法
    * @param e
    * @return
    */
    public int addObject(E e);

    /**
    * 编辑
    * @param e
    * @return
    */
    public int editObject(E e);

    /**
    * 删除
    * @param e
    * @return
    */
    public int removeObject(E e);

    /**
    * 查询单个
    * @param e
    * @return
    */
    public E queryObject(E e);

    /**
    * 查询所有
    * @return
    */
    public List<E> getAll();


    package com.temp;

    /**
    * 可以在当前的接口中确定它的数据类型
    * @author 公子
    *
    */

    public interface IPersonFace extends IBaseFace<Person<String, Integer, Character>> {

    public boolean queryUserName(String uname);

      

    package com.temp;

    import java.util.List;

    public class PersonImpl implements IPersonFace {

    @Override
    public int addObject(Person<String, Integer, Character> e) {
    // TODO Auto-generated method stub
    return 0;
    }

    @Override
    public int editObject(Person<String, Integer, Character> e) {
    // TODO Auto-generated method stub
    return 0;
    }

    @Override
    public int removeObject(Person<String, Integer, Character> e) {
    // TODO Auto-generated method stub
    return 0;
    }

    @Override
    public Person<String, Integer, Character> queryObject(Person<String, Integer, Character> e) {
    // TODO Auto-generated method stub
    return null;
    }

    @Override
    public List<Person<String, Integer, Character>> getAll() {
    // TODO Auto-generated method stub
    return null;
    }

    @Override
    public boolean queryUserName(String uname) {
    // TODO Auto-generated method stub
    return false;
    }






    }

    泛型的方便是不言而喻的,有调用方的自定义数据类型就给予了很大的扩展空间,熟练使用泛型能减少很多的代码。









    }

    }

  • 相关阅读:
    Legacy和UEFI,MBR和GPT的区别
    如何升级laravel5.4到laravel5.5并使用新特性?
    value toDF is not a member of org.apache.spark.rdd.RDD
    spark能传递外部命名参数给main函数吗?
    spark在idea中本地如何运行?(处理问题NoSuchFieldException: SHUTDOWN_HOOK_PRIORITY)
    工作随笔-20171012
    maven使用实战
    介绍maven构建的生命周期
    python中的pip
    python中的None
  • 原文地址:https://www.cnblogs.com/hyfl/p/10898307.html
Copyright © 2011-2022 走看看