20150802-汎用

3766 ワード

一、フォーマット
public class Student <T,E extends Pet> {}
public class Student<T> {}

二、いつ使うか
集合フレームワークでは一般的に、集合を使用する場合は、集合に格納するデータ型をパラメータとして<>に渡すとよい.
三、汎用クラス
汎用クラスはいつ使いますか?A:クラスで操作する参照データ型が不確定な場合は、早起きしてObjectを定義して拡張し、次に汎用を定義して拡張します.
public class Student<T,E extends Pet> { //T E
    private String name;
    private T clothes;
    private E pet;
    private int age;

    public Student(String name,int age){

    }


    public void setClothes(T clothes){  //set  
        this.clothes=clothes;
    }
    public T getClothes(){  //get  
        return clothes;
    }
    public E getPet() {   //get  
        return pet;
    }
    public void setPet(E pet) {   //set  
        this.pet = pet;
    }


    public int getAge() {
        return age;
    }


    public void setAge(int age) {
        this.age = age;
    }



}

使用時間:
public class Test01 {

    public static void main(String[] args) {
        Student<NaZhuang,Dog> stu = new Student<>("zhangsan",28);
        NaZhuang nz = stu.getClothes();
        Dog dog = stu.getPet();


    }

}

四、汎用方法
目的:異なるメソッドが異なるタイプを操作でき、タイプが不確定で、汎用型をメソッドに定義できるようにする.
class People{
    public <T> void show(){
    ……
    }
}

五、静的方法の汎用型
                ,                  ,           。
public static <w> void method(W t)