1.泛型类 
什么时候定义泛型类? 
当类中要操作的引用数据类型不确定的时候,早期定义Object来完成扩展,而现在用泛型类。 
 
定义泛型类之前: 
class Worker 
{} 
class Tool 
{ 
        private object obj; 
        public void set(Object obj) 
        { 
                this.obj = obj; 
        } 
        public Object get() 
        { 
                return obj; 
        } 
} 
 
class Demo 
{ 
        public static void main(String[] args) 
        { 
                Tool t = new Tool(); 
                t.set(new Worker()); 
                Worker w = (Worker)t.get(); 
        } 
} 
定义泛型类之后: 
class Worker 
{} 
class Tool<tool> 
{ 
        private tool t; 
        public void set(tool t) 
        { 
                this.t = t; 
        } 
        public tool get() 
        { 
                return t; 
        } 
} 
class Demo 
{ 
        public static vod main(String[] args) 
        { 
                Tool<Worker> t = new Tool<Worker>(); 
                t.set(new Worker()); 
                Worker w = t.get(); 
        } 
} 
 
2.泛型方法 
泛型类定义的泛型,在整个类中有效,如果被方法使用,那么泛型类的对象就会明确要操作 
的数据的类型,类型就固定了。为了让不同方法可以操作不同的不确定的数据类型,可以使 
用泛型方法。 
如: 
class Tool 
{ 
        public <T> void show(T t) 
        { 
                System.out.println(t); 
        } 
        public <Q> void show2(Q q) 
        { 
                System.out.println(q); 
        } 
} 
class Demo 
{ 
        public static void main(String[] args) 
        { 
                Tool tool = new Tool(); 
                //这里可以放入不同类型的形参。 
                tool.show("hhhh"); 
                tool.show(4); 
                //可以放入不同类型的形参。 
                tool.show2("eeee"); 
                tool.show2(5); 
        } 
} 
 
注意:对于静态方法,静态方法的访问类型不能是定义在类上的泛型。如果静态方法需要泛 
型,可以单独在静态方法上定义新的泛型。 
 
 |   
        
 
    
    
    
     
 
 |