反射 创建对象及访问构造方法
2016-06-02 14:34
363 查看
package xxx;
import
java.lang.reflect.Constructor;
import
java.lang.reflect.InvocationTargetException;
public
class TestRef02
{
public
static void main(String[] args)
throws Exception
{
//通过反射创建对象
Class c= Person.class;
// Person p = new Person();
//c.getConstructors();
// c.getDeclaredConstructors();
//取某个构造方法
// Constructor<Person> cons = c.getConstructor(String.class);
//创建对象
// Person p = cons.newInstance("addr....");
// System.out.println(p.getAddr());
//取某个构造方法
// Constructor<Person> cons = c.getConstructor();
// //创建对象
// Person p = cons.newInstance();
//
// System.out.println(p.getAddr());
//NoSuchMethodException
// Constructor<Person> cons = c.getConstructor(boolean.class,String.class);
//
// Person p = cons.newInstance(false,"张三");
//
// System.out.println(p.getName()+","+p.isSex());
//IllegalAccessException
//Constructor<Person> cons = c.getDeclaredConstructor(boolean.class,String.class);
//破坏封装
// cons.setAccessible(true);
// Person p = cons.newInstance(false,"张三");
// System.out.println(p.getName()+","+p.isSex());
//Class 对象 c.newInstance() 默认调用无参构造方法
// 可以用来创建对象
Person p = (Person)c.newInstance();
System.out.println(p);
}
}
import
java.lang.reflect.Constructor;
import
java.lang.reflect.InvocationTargetException;
public
class TestRef02
{
public
static void main(String[] args)
throws Exception
{
//通过反射创建对象
Class c= Person.class;
// Person p = new Person();
//c.getConstructors();
// c.getDeclaredConstructors();
//取某个构造方法
// Constructor<Person> cons = c.getConstructor(String.class);
//创建对象
// Person p = cons.newInstance("addr....");
// System.out.println(p.getAddr());
//取某个构造方法
// Constructor<Person> cons = c.getConstructor();
// //创建对象
// Person p = cons.newInstance();
//
// System.out.println(p.getAddr());
//NoSuchMethodException
// Constructor<Person> cons = c.getConstructor(boolean.class,String.class);
//
// Person p = cons.newInstance(false,"张三");
//
// System.out.println(p.getName()+","+p.isSex());
//IllegalAccessException
//Constructor<Person> cons = c.getDeclaredConstructor(boolean.class,String.class);
//破坏封装
// cons.setAccessible(true);
// Person p = cons.newInstance(false,"张三");
// System.out.println(p.getName()+","+p.isSex());
//Class 对象 c.newInstance() 默认调用无参构造方法
// 可以用来创建对象
Person p = (Person)c.newInstance();
System.out.println(p);
}
}
相关文章推荐
- 工厂车站工作坊
- Update after change
- Tracert实例详解
- 站在蛋的那一边:六月五日に関して不完全な研究
- 文章URL
- Nexus的权限管理
- 如何查看端口占用情况
- 【CSS 杂记】
- vi命 4000 令行
- Windows下PHP扩展资源列表及下载地址(官方)
- 【工具】sublime
- linux查看文件/目录大小
- ViewPager无限循环解决跳变的问题
- 反射 reflection基本使用
- 栅格计算器中con()函数和setnull()函数的用法
- Python Selenium
- plsql连接本地数据库和远程数据库
- Thinkphp5开发中的坑及解决方案!
- Python Selenium
- 慕课爬虫实战 爬取百度百科Python词条相关1000个页面数据