zoukankan      html  css  js  c++  java
  • Java入门——泛型(一)

    Java入门——泛型(一)


    泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用;更重要的是它保证了数据类型的安全。但是设计泛型并没有那么容易,一个泛型程序员要做的就是预测出所有类未来可能的所有的用途。

    一:目标

      泛型程序设计分为3个等级,基本等级是使用泛型——典型的小ArrayList这样的集合——不必考虑它们的工作方式和原因。大多数程序猿将会停留在这个等级上,直到出现什么问题。


    二:简单泛型类

    package Sep22;
    
    public class Pair<T> {//泛型可以有多个变量,比如public class Pair<T,K>{}
    	private T first;//T 类型的变量
    	private T second;//T 类型的变量
    	public Pair(){//构造函数
    		first=null;
    		second=null;
    	}
    	public Pair(T first,T second){//构造函数覆写
    		this.first=first;
    		this.second=second;
    	}
    	public T getFirst() {
    		return first;
    	}
    	public void setFirst(T first) {
    		this.first = first;
    	}
    	public T getSecond() {
    		return second;
    	}
    	public void setSecond(T second) {
    		this.second = second;
    	}
    	
    }
    

      然后用具体的类型替换类型变量就可以实例化对象,对于本例:

      

    Pair<String>
    

      

      实例化对象后就是可以把构造器想象成普通类的构造器:

    Pair<String>()
    Pair<String>(String first,String Second)
    

      和方法

    String getFirst()
    String getSecond()
    void setFirst(String)
    void setSecond(String)
    

    三:泛型方法

      泛型还可以在普通类中定义泛型方法  

    Class ArrayAlg{
        public static <T> T getMiddle(T... a){
            return a[a.length/2];}
    }
    

      


    聪哥说

    1. 泛型类就是普通类的工厂,在实例化对象的时候生产相应类型的类  
  • 相关阅读:
    vue导入excel表格
    正则表达式:输入六位数或六位数以下的正整数。
    iview下拉框支持多选
    vue通过jquery方式获取元素
    获取对象属性
    原生JS获取元素,添加事件
    打印当前页面,关闭当前页面
    Andrew Ng 机器学习公开课
    机器学习4《朴素贝叶斯》
    机器学习3《数据集与k-近邻算法》
  • 原文地址:https://www.cnblogs.com/BoscoGuo/p/5894988.html
Copyright © 2011-2022 走看看