国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

Java實現創建運行時類的對象操作示例

2024-07-14 08:42:09
字體:
來源:轉載
供稿:網友

本文實例講述了Java實現創建運行時類的對象操作。分享給大家供大家參考,具體如下:

獲取運行時類的方法:

public void test() throws ClassNotFoundException {    /*     * Class類是反射的源頭     * 創建一個類,通過編譯(javac.exe),生成對應的.class文件,之后使用java.exe加載(JVM的類加載器完成的)此.class文件。     * 此.class文件加載到內存后,就是一個運行時類,存放在緩存區。     * 那么這個運行時類本身就是一個Class的實例。     * 1.每一個運行時類只加載一次;     * 2.有了Class的實例后,可以進行如下操作:     *  1>創建對應的運行時類的對象     *  2>獲取對應的運行類的完整結構(屬性、方法、構造器、內部類、父類、所在的包、異常、注解、...)     *  3>調用對應的運行時類指定的結構(屬性、方法、構造器)     *  4>反射的應用:動態代理     */    //1.調用運行時類本身的.class屬性    Class clazz1 = Person.class;    //2.通過運行時類的對象獲取    Person p = new Person();    Class clazz2 = p.getClass();    //3.通過Class的靜態方法獲取    String className = "com.test.Person";    Class clazz3 = Class.forName(className);//    clazz3.newInstance();    //4.通過類的加載器    ClassLoader classLoader = this.getClass().getClassLoader();    Class clazz4 = classLoader.loadClass(className);    System.out.println(clazz1 == clazz4); //true 即只加載一次    System.out.println(clazz2 == clazz3); //true

創建運行時類的對象:

public class TestConstructor {  public static void main(String[] args) throws ClassNotFoundException, IllegalAccessException, InstantiationException {    String className = "com.test.Person";    Class clazz = Class.forName(className);    //創建對應的運行時類的對象,使用newInstance()方法,就是調用了運行時類的空參構造器   //要想能夠創建成功:1.要求對應的運行時類要有空參的構造器;2.構造器的權限修飾符的權限要足夠  Object obj = clazz.newInstance();    Person p = (Person)obj;  }}

希望本文所述對大家java程序設計有所幫助。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹿邑县| 乐安县| 乐陵市| 淅川县| 拜泉县| 澎湖县| 桦甸市| 泾源县| 枣阳市| 玉龙| 灵丘县| 潜山县| 常州市| 留坝县| 古交市| 台湾省| 分宜县| 甘南县| 堆龙德庆县| 尤溪县| 淮南市| 神农架林区| 日土县| 西畴县| 秭归县| 左云县| 光泽县| 仁怀市| 永福县| 扶余县| 梓潼县| 民勤县| 隆化县| 鹤峰县| 本溪| 奉节县| 灵丘县| 平和县| 南岸区| 通渭县| 永宁县|