• 泛型解析


                                                                                                泛型

      
    1、泛型类    

    public class Pig<A,B,C> {
    
        private A pname;
        private B page;
        private C psex;
        public A getPname() {
            return pname;
        }
        public void setPname(A pname) {
            this.pname = pname;
        }
        public B getPage() {
            return page;
        }
        public void setPage(B page) {
            this.page = page;
        }
        public C getPsex() {
            return psex;
        }
        public void setPsex(C psex) {
            this.psex = psex;
        }
        @Override
        public String toString() {
            return "Pig [pname=" + pname + ", page=" + page + ", psex=" + psex + "]";
        }
        
        
        
    }

    2、泛型接口  

    /**
     * 泛型的接口的实现   可以在实现类中定义好   也可以在调用的地方定义好。
     * 
     * 接口实现接口    实现类    实现   类
     * 
     * 基础接口    自定义接口   来扩张实现类的方法
     * @author Admin
     *
     * @param <E>
     */
    public interface IPig<E> {
    
        
        
        //CRUD
        
        /**
         * 增加公共的方法
         * @param elenment
         * @return
         */
        public int addObj(E elenment);
        
        
        /**
         * 编辑的方法
         * @param elenment
         * @return
         */
        public int updateObj(E elenment);
        
        
        /**
         * 删除的方法
         * @param elenment
         * @return
         */
        public int deleteObj(E elenment);
        
        
        
        /**
         * 查询单个对象的方法
         * @param elenment
         * @return
         */
        public E getObj(E elenment);
        
        
        
        /**
         * 查询多个对象的方法
         * @param elenment
         * @return
         */
        public List<E> getAllObj(E elenment);
        
        
        
        /**
         * 分页的方法
         * @param elenment
         * @return
         */
        public List<E> queryObjPage(E elenment);

    2.1 接口继承接口

    public class PigImpl implements IPigP{
    
        @Override
        public int addObj(Pig<String, Integer, Character> elenment) {
            // TODO Auto-generated method stub
            return 0;
        }
    
        @Override
        public int updateObj(Pig<String, Integer, Character> elenment) {
            // TODO Auto-generated method stub
            return 0;
        }
    
        @Override
        public int deleteObj(Pig<String, Integer, Character> elenment) {
            // TODO Auto-generated method stub
            return 0;
        }
    
        @Override
        public Pig<String, Integer, Character> getObj(Pig<String, Integer, Character> elenment) {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public List<Pig<String, Integer, Character>> getAllObj(Pig<String, Integer, Character> elenment) {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public List<Pig<String, Integer, Character>> queryObjPage(Pig<String, Integer, Character> elenment) {
            // TODO Auto-generated method stub
            return null;
        }
    
        @Override
        public boolean getName(String name) {
            // TODO Auto-generated method stub
            return false;
        }
    
        
    }

     

    3、泛型方法   

    //泛型方法
        public E getValue(E elenment) {
            if(elenment !=null) {
                return elenment;
            }
            return null; 
        }

    4、 泛型属性

    //泛型的属性
            Pig<String, Integer, Character> p=new Pig();
            
            p.setPname("zs");
            p.setPage(8);
            p.setPsex('');
            
            System.out.println(p.toString());

      泛型的属性  属性的数据类型  由调用方  来决定当前属性的数据类型
      
      Integer是int数据类型的封装类
      Character是char的数据类型的封装类
      
      泛型的数据类型必定只能是类  而不是基础数据类型的   关键字
      
      
      方便扩展   例如(公用类、方便调用时数据类型可改变)
      
      

  • 相关阅读:
    P站画师 GTZ taejune 精选4k插画壁纸
    点、向量与坐标系
    一些几何
    画直线算法 Line drawing algorithm
    DX11 学习大纲
    插值 Interpolation
    The History of Computer Graphics
    vue中的请求拦截响应
    Event loop
    小程序使用wx.navigateTo()跳转失败
  • 原文地址:https://www.cnblogs.com/wshemin/p/10898435.html
Copyright © 2020-2023  润新知