码迷,mamicode.com
首页 > 其他好文 > 详细

泛型解析

时间:2019-05-21 10:53:21      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:page   接口继承   generated   bsp   rac   his   auto   span   而不是   

                                                                                            泛型

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

泛型解析

标签:page   接口继承   generated   bsp   rac   his   auto   span   而不是   

原文地址:https://www.cnblogs.com/wshemin/p/10898435.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!