java面向对象 泛型
这个第一篇知识梳理的博客,希望我可以坚持下去将知识进行总结。
这是在极客学院里看到的视频,目录如下,蛮清晰的。然后我将视频中所说再记忆下。
java面向对象之泛型:认识泛型
Java SE 1.5的新特性,泛型的本质是参数化类型,可以代表任何数据类型。
java面向对象之泛型:构造函数中使用
class Gen<T>{
private T value;
Gen(T value){//构造函数中就泛型就不需要用尖括号了
this.value=value;
}
public void setValue(T t){
this.value=t;
}
public T getValue(){
return this.value;
}
}
public Class Demo(){
public static void main(String[] args){
Gen<String> g = new Gen<String>("test");
//输出 g.getValue();
}
}
java面向对象之泛型:指定多个泛型(一般就两个)
class Gen<T,K>{
private T take;
private K key;
Gen(T take,K key){//构造函数中就泛型就不需要用尖括号了
this.take=take;
this.key=key;
}
//...set get方法
}
public Class Demo(){
public static void main(String[] args){
Gen<String,Integer> g = new Gen<String,Integer>();
g.setTake("test");
g.setKey(10);
}
}
java面向对象之泛型:通配符
当要在方法中给参数指定泛型时,用“?”表示,比如因为参数是Info<T>
java面向对象之泛型:泛型接口
接口名称后面加<T>
interface Gen<T>{
public void say();
}
1. Class GenImpl implements Gen<String>{
public void say(){
}
}
2.Class GenImpl<T> implements Gen<T>{
public void say(){
}
}
在具体使用GenImpl的时候指定数据类型
java面向对象之泛型:泛型方法
public <T> T 方法名 (T t)
返回T类型为调用时赋值类型,int i = tell(10);
java面向对象之泛型:泛型数组
public static <T>void tell(T arr[]){
for(int i=0;i<arr.length;i++){
system.out.print(arr[i])
}
}
Integer arr[]={1,2,3,4};
tell(arr);
http://blog.csdn.net/flfna/article/details/6576394