Heim  >  Artikel  >  Java  >  Zusammenfassung des Beispiel-Tutorials zu Java Generics

Zusammenfassung des Beispiel-Tutorials zu Java Generics

零下一度
零下一度Original
2017-06-01 10:14:241546Durchsuche

Generika sind ein sehr wichtiger Wissenspunkt in Java. Generika werden im Java-Collection-Class-Framework häufig verwendet. In diesem Artikel betrachten wir die generische Java-Klasse

Automobile von Grund auf:

public class Automobile {    private String name;    public Automobile(String name){        this.name= name;
    }    public String getName() {        return name;
    }    public void setName(String name) {        this.name = name;
    }
}

Holder1-Klasse: enthält ein bestimmtes Einzeltypobjekt.

public class Holder1 {    private Automobile automobile;    public Holder1(Automobile automobile){        this.automobile = automobile;
    }    public Automobile get(){        return this.automobile;
    }
}

Holder2-Klasse: enthält Objektobjekt.

public class Holder2 {    private Object object;    public Holder2(Object object){        this.setObject(object);
    }    public Object getObject() {        return object;
    }    public void setObject(Object object) {        this.object = object;
    }
}

Holder3-Klasse: Verwenden Sie Generika, um ein einzelnes Objekt zu speichern, geben Sie jedoch vorerst nicht seinen Typ an und entscheiden Sie, welche Art von Objekt bei der Verwendung gespeichert werden soll.

public class Holder3 <T>{    private T t;    public Holder3(T t){        this.setT(t);
    }    public T getT() {        return t;
    }    public void setT(T t) {        this.t = t;
    }
}

Hauptprogramm Main:

public class Main {    public static void main(String[] args) {        /*使用Holder1*/
        Holder1 holder1 = new Holder1(new Automobile("Iphone"));
        System.out.println(holder1.get().getName());        
        /*使用Holder2*/
        //使holder2持有String类型对象
        Holder2 holder2 = new Holder2("XiaoMi");
        System.out.println(holder2.getObject()); 
        //更改holder2中持有的对象类型
        holder2.setObject(new Automobile("HuaWei"));        //向下转型Object->Automobile
        Automobile automobile = (Automobile) holder2.getObject();
        System.out.println(automobile.getName());        
        /*使用Holder3*/
        //告诉编译器holder3持有的对象类型为String        //此时holder3拥有的对象类型只能为String,不能变更
        Holder3<String> holder3 = new Holder3<String>("Vivo");
        System.out.println(holder3.getT());        //告诉编译器anotherHolder3持有的对象类型为Automobile        //此时anotherHolder3拥有的对象类型只能为Automobile,不能变更
        Holder3<Automobile> anotherHolder3 = new Holder3<Automobile>(new Automobile("Oneplus"));
        System.out.println(anotherHolder3.getT().getName());
    }    
}

Das Ergebnis der Programmausführung ist:

Iphone
XiaoMi
HuaWei
Vivo
Oneplus

[Verwandte Empfehlungen]

1 🎜 >Erklärung der Java-Generika

2.

Zusammenfassung der Java-Generika (3) – Detaillierte Erläuterung der Verwendung von Platzhaltern

3 von Java Generics (2) – Generics und Arrays

3. Zusammenfassung von Java Generics (1) – Detaillierte Erläuterung der grundlegenden Verwendung und Typlöschung

4 . Detaillierte Erläuterung des Beispielcodes von Java-Generika

Das obige ist der detaillierte Inhalt vonZusammenfassung des Beispiel-Tutorials zu Java Generics. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn