----------------------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文本文件里面。
* 一般在开发框架中用得多!
*/
//得到路径指向流对象方法1
InputStream inps = FiledDemo.class.getClassLoader().getResourceAsStream("com//zhoufeng//fanshe//config.properties");
//得到路径指向流对象方法2
InputStream 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方法来实现调用!从而达到这个类中得到和赋值的效果。
*/
//演示一个JavaBean
package 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