• 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. 泛型类就是普通类的工厂,在实例化对象的时候生产相应类型的类  
  • 相关阅读:
    C语言I博客作业05
    C语言I博客作业04
    C语言I博客作业03
    C语言I博客作业02
    C语言I博客作业01
    SQL学习
    2018-7-24 列表生成式+过滤器(filter)+映射(map)+lambda总结(转)
    2018-7-13 mysql 导入大文件并进行替换字符串
    2018-7-12python爬取历史天气数据
    Python语法.md
  • 原文地址:https://www.cnblogs.com/BoscoGuo/p/5894988.html
Copyright © 2020-2023  润新知