欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java 封裝 和 反射

黃文隆1年前7瀏覽0評論

Java是一門面向對象的編程語言,封裝是其中的一項重要特性。封裝可以將類的內部細節隱藏起來,對外提供簡單易懂的方法。在Java中,通過訪問修飾符來實現封裝,并且常用的有public、private、protected、default。

//一個簡單的封裝示例
public class Person {
private String name;
public void setName(String newName) {
name = newName;
}
public String getName() {
return name;
}
}

在這個示例中,name屬性被聲明為private,只能在Person類內部使用。setName()和getName()方法提供了對外操作的接口。

反射是Java中一項高級特性,可以讓程序在運行時動態地獲取類的信息,并且可以操作類的各種成員。在Java反射中,常用的類包括Class、Construtor、Method、Field。

//一個簡單的反射示例
public class ReflectionDemo {
public static void main(String[] args) throws Exception {
Classcls = Class.forName("Person");
Object obj = cls.newInstance();
Method setNameMethod = cls.getMethod("setName", String.class);
setNameMethod.invoke(obj, "John");
Method getNameMethod = cls.getMethod("getName");
String name = (String) getNameMethod.invoke(obj);
System.out.println(name);     //輸出:John
}
}

在這個示例中,使用Class.forName()方法動態地加載Person類,然后使用Class.newInstance()方法創建一個Person對象。通過Class.getMethod()方法和Method.invoke()方法可以對Person類的方法進行調用和操作,并最終獲取到Person對象的name屬性值。

封裝和反射都是Java中強大的面向對象特性,都能讓程序更加靈活和強大。