如何使用JAVA反射/JAVA反射实例

2025-05-16 02:17:04

1、常用举例:package com.test.instancedemo;class X{};public class GetClassDemo02{public static void main(String args[]){Class<?> c1 = null ;// 指定泛型Class<?> c2 = null ;// 指定泛型Class<?> c3 = null ;// 指定泛型try{// 以下的操作形式是在开发中最常用的一种形式c1 = Class.forName("com.test.instancedemo.X") ;}catch(ClassNotFoundException e){e.printStackTrace() ;}c2 = new X().getClass() ;// 通过Object类中的方法实例化c3 = X.class ;// 通过类.class实例化System.out.println("类名称:" + c1.getName()) ;// 得到类的名称System.out.println("类名称:" + c2.getName()) ;// 得到类的名称System.out.println("类名称:" + c3.getName()) ;// 得到类的名称}};

如何使用JAVA反射/JAVA反射实例

3、如何使用反射包package com.test.instancedemo.instancedemo ;import java.lang.reflect.Constructor ;// 导入反射机制包class Person{private String name ;// name属性private int age ;// age属性public Person(String name,int age){this.setName(name) ;this.setAge(age);}public void setName(String name){this.name = name ;}public void setAge(int age){this.age = age ;}public String getName(){return this.name ;}public int getAge(){return this.age ;}public String toString(){// 覆写toString()方法return "姓名:" + this.name + ",年龄:" + this.age ;}};public class InstanceDemo03{public static void main(String args[]){Class<?> c = null ;// 声明Class对象try{c = Class.forName("com.test.instancedemo.Person") ;}catch(ClassNotFoundException e){e.printStackTrace() ;}Person per = null ;// 声明Person对象Constructor<?> cons[] = null ;cons = c.getConstructors() ;try{per = (Person)cons[0].newInstance("LXY",30) ;// 实例化对象}catch(Exception e){e.printStackTrace() ;}System.out.println(per) ;// 内容输出,调用toString()}};

如何使用JAVA反射/JAVA反射实例

5、使用实麻质跹礼例2package com.test.instancedemo.factorydemo ;import jav锾攒揉敫a.util.Properties ;import java.io.File ;import java.io.FileOutputStream ;import java.io.FileInputStream ;interface Fruit{public void eat() ;// 吃水果}class Apple implements Fruit{public void eat(){// 覆写eat()方法System.out.println("** 吃苹果");}};class Orange implements Fruit{public void eat(){System.out.println("** 吃橘子") ;}};class Init{public static Properties getPro(){Properties pro = new Properties() ;File f = new File("d:\\fruit.properties") ;// 找到属性文件try{if(f.exists()){// 文件存在pro.load(new FileInputStream(f)) ;// 读取属性}else{pro.setProperty("apple","com.test.instancedemo.factorydemo.Apple") ;pro.setProperty("orange","com.test.instancedemo.factorydemo.Orange") ;pro.store(new FileOutputStream(f),"FRUIT CLASS") ;}}catch(Exception e){}return pro ;}};class Factory{public static Fruit getInstance(String className){Fruit fruit = null ;try{fruit = (Fruit)Class.forName(className).newInstance() ;}catch(Exception e){e.printStackTrace() ;}return fruit ;}};public class FactoryDemo02{public static void main(String args[]){Properties pro = Init.getPro() ;Fruit f = Factory.getInstance(pro.getProperty("apple")) ;if(f!=null){f.eat() ;}}};

如何使用JAVA反射/JAVA反射实例
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:49
  • 阅读量:83
  • 阅读量:35
  • 阅读量:42
  • 阅读量:27
  • 猜你喜欢