色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java泛型和反射的使用

阮建安1年前6瀏覽0評論

Java中的泛型和反射是非常重要的特性。泛型允許我們編寫可重用的代碼,而反射則允許我們在運行時獲取和操作類的信息。以下是有關這些特性的更多細節:

泛型

public class Box<T> {
private T t;
public void set(T t) {
this.t = t;
}
public T get() {
return t;
}
}
Box<String> stringBox = new Box<>();
stringBox.set("Hello World");
Box<Integer> intBox = new Box<>();
intBox.set(10);

以上代碼中,我們定義了一個泛型類Box,它可以接受任何類型的數據。然后我們實例化Box并分別使用String和Integer類型進行設置,取回數據時也返回相應的類型。這意味著我們可以在不同的場景中重用同一份代碼,而不必為每種類型都寫一份代碼。

反射

class Example {
private String name;
public int age;
public Example(String name, int age) {
this.name = name;
this.age = age;
}
public void printName() {
System.out.println("Name: " + name);
}
public void printAge() {
System.out.println("Age: " + age);
}
}
Example example = new Example("John", 25);
Class clazz = example.getClass();
Field[] fields = clazz.getDeclaredFields();
Method[] methods = clazz.getDeclaredMethods();
for(Field field : fields) {
System.out.println("Field name: " + field.getName());
}
for(Method method : methods) {
System.out.println("Method name: " + method.getName());
}

以上代碼中,我們定義了一個Example類,它包含一個私有字符串屬性name和一個公開整數屬性age,以及兩個公開的打印屬性方法。然后我們創建一個Example對象并獲取它的類信息。我們使用反射獲取類的所有屬性和方法,并對它們進行操作。在這個例子中,我們只是簡單地打印出屬性和方法的名稱,但是在實際開發中,我們可以通過反射來創建新對象、調用方法和訪問屬性。