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 Arrays3. 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!