版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30648823/article/details/79774451
- 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() }); } }
- 泛型<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(); }
泛型可以把使用Object的错误在运行后提前到编译后package com.cp.blog.generic; public class GenericC<T> implements Generic<T> { @Override public T test() { // TODO Auto-generated method stub return null; } }