zoukankan      html  css  js  c++  java
  • 泛型解析

                                                                                                泛型

      
    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的数据类型的封装类
      
      泛型的数据类型必定只能是类  而不是基础数据类型的   关键字
      
      
      方便扩展   例如(公用类、方便调用时数据类型可改变)
      
      

  • 相关阅读:
    js数组的常见操作( push、pop、unshift、shift、splice、concat、 join)的用法
    js json对象与字符串转换
    js回调函数(callback)
    Array数组 [] 遍历方法
    65.rem布局详解(一图流)
    关于内存泄漏
    JS精粹知识点和我的解释
    再谈布局2-Flex布局
    input和button不同高 和 rem
    正则表达式学习
  • 原文地址:https://www.cnblogs.com/wshemin/p/10898435.html
Copyright © 2011-2022 走看看