黑马程序员_学员周峰_java高新技术_反射及应用

来源:互联网 发布:大虫模型淘宝店 编辑:程序博客网 时间:2024/06/05 04:18

 

----------------------android培训、java培训、期待与您交流! ----------------------

 * 反射笔记
 * 反射的作用可以只用一个字符串就可以得到一个对象中的值,然后可以更改和赋值操作。
 * 还可以批量的替换对象中相同的类型变量值

 

/**  *反射笔记 *反射的作用可以只用一个字符串就可以得到一个对象中的值,然后可以更改和赋值操作。 *还可以批量的替换对象中相同的类型变量值 * *///反射可以不需要new对象而得到一个对象。通过一段特殊的字符串完整类路径。Book book1 = (Book) Class.forName("com.zhoufeng.fanshe.Book").newInstance();/* * Field 小记 *///Field指的不是对象,是指类的某个变量,利用getField来指定某个对象中的哪个属性。Field f = obj.getClass().getField("name1");//通过字符串得到某个变量,变量名为name1。f.setAccessible(true);//允许访问私有的属性f.set(obj, Value);//在通过set方法来进行存值!/* * Method 小记 *///通过 Method 利用字符串形式的方法名"setValue",得到一个某个内中的方法,以下是反射方法的例子。Method myMethod = Class.forName("com.zhoufeng.fanshe.FiledDemo").getMethod("setValue",Object.class,String.class,Object.class);//myMethod 只是代表方法变量,利用它在调用invoke方法,来实现调用!//前面阐述是myMethod指向fd对象里面的"setValue"方法.myMethod.invoke(fd,new Object[]{book,"name","aaaS"});//后面参数为被调用的方法参数。/* * Properties 小记 * 它是一个键值对对象,能把数据保存到后缀为properties文本文件里面。 * 一般在开发框架中用得多! *///得到路径指向流对象方法1InputStream inps = FiledDemo.class.getClassLoader().getResourceAsStream("com//zhoufeng//fanshe//config.properties");//得到路径指向流对象方法2InputStream inps = FiledDemo.class.getResourceAsStream("config.properties");//new一个Properties 对象进行加载Properties pops = new Properties();pops.load(inps);inps.close();//拿出KEY为className的值String className = pops.getProperty("className");/* * JavaBean 小记 * 我理解它为java的组件。 * 一个JavaBean必须有一个无参数构造方法。 * 里面是的属性是私有的,用公开的get和set方法来实现调用!从而达到这个类中得到和赋值的效果。 *///演示一个JavaBeanpackage com.zhoufeng.fanshe;public class Book {private String name ;private double money ;private String author ;public Book() {}public Book(String name,double money,String author) {setAuthor(author);setMoney(money);setName(name);}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}}

 


 

 

 

 

---------------------- android培训、java培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net/heima