Object与T

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30648823/article/details/79774451
  1. Object类 
    无需自己引入 编译器自动引入
    所有的类都直接或者间接的继承了Object
    Object适用于参数个数或类型未知的场合使用
    package com.cp.blog;
    
    class test{}
    /**
     * 
     * MyObject
     * 创建人:chenPeng
     * 时间:2018年3月31日-下午10:18:36 
     * @version 1.0.0
     *
     */
    public class MyObject {
    	public static void run(Object[] obj) {
    		for (Object object : obj) {
    			System.out.print(object+"   ");
    		}
    		System.out.println();
    	}
    	public static void main(String[] args) {
    		run(new Object[] {
    				new Integer(99),new Double(22.21),new Float(2.1)
    		});
    		run(new Object[] {
    				"一","二","三"
    		});
    		run(new Object[] {
    				new test(),new test(),new test()
    		});
    	}
    	
    }
    


  2. 泛型<T>
    本质便是类型参数化,简单的来说是使用一个变量来表示类型,但是这个类型是不确定(只表示一种)
    泛型类
    package com.cp.blog;
    
    public class MyT<T> {
    	private T test;
    
    	public T getTest() {
    		return test;
    	}
    
    	public void setTest(T test) {
    		this.test = test;
    	}
    	
    }
    泛型方法
    package com.cp.blog;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class Myt2{
    	public <T> List<T> testT(T t){
    		List<T> myList = new ArrayList<>();
    		myList.add(t);
    		return myList;
    	}
    }

    泛型接口
    package com.cp.blog.generic;
    
    public interface Generic<T> {
    	public T test();
    }
    
    package com.cp.blog.generic;
    
    public class GenericC<T> implements Generic<T> {
    	@Override
    	public T test() {
    		// TODO Auto-generated method stub
    		return null;
    	}
    	
    }
    
    泛型可以把使用Object的错误在运行后提前到编译后

猜你喜欢

转载自blog.csdn.net/qq_30648823/article/details/79774451
今日推荐