Java反射机制
1 JAVA的反射,其实就是通过一个实例化的对象反过来去找到一个类的完整信息,比如对于如下的形式:
X x=new X();
x.getClass().getName();
这里就会输出这个类所在的完整信息,即"包名.类名";
最常用的三种实例化CLASS类对象
Class<?> c1 = null ; // 指定泛型
Class<?> c2 = null ; // 指定泛型
Class<?> c3 = null ; // 指定泛型
try{
// 以下的操作形式是在开发中最常用的一种形式
c1 = Class.forName("org.lxh.demo15.getclassdemo.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()) ; // 得到类的名称
2 通过无参构造实例化对象
假设有个类,其中必须存在一个无参数的构造函数,则可以用如下的这个方式进行
Class<?> c = null ; // 声明Class对象
try{
c = Class.forName("org.lxh.demo15.instancedemo.Person") ;
}catch(ClassNotFoundException e){
e.printStackTrace() ;
}
Person per = null ; // 声明Person对象
try{
per = (Person)c.newInstance() ; // 实例化对象
}catch(Exception e){
e.printStackTrace() ;
}
如果类中是存在有参数的构造函数的话,则用如下方式实现:
Class<?> c = null ; // 声明Class对象
try{
c = Class.forName("org.lxh.demo15.getclassdemo.Person") ;
}catch(ClassNotFoundException e){
e.printStackTrace() ;
}
Person per = null ; // 声明Person对象
Constructor<?> cons[] = null ;
cons = c.getConstructors() ;
try{
per = (Person)cons[0].newInstance("李兴华",30) ; //
相关文档:
import
java
.io.BufferedReader;
import
java
.io.FileInputStream;
import
java
.io.FileNotFoundException;
import
java
.io.FileOutputStream;
import
java
.io.IOException;
import
java
. ......
方法一:
SimpleDateFormat formatter =
new
SimpleDateFormat(
"yyyyMMdd"
);
Date currentTime =
new
java.util.Date();
//
得到当前系统时间
long
now = curr ......
JAVA正则表达式--Pattern和Matcher
作者:陈广佳 文章来源:www.fooldock.com
发布日期:2004年11月19日 浏览次数:2585次
现在JDK1.4里终于有了自己的正则表达式API包,JAVA程序员可以免去找第三方提供的正则表达式库的周折了,我们现在就马上来了解一下这个SUN提供的迟 ......
这是我第一次写技术博文,喜欢大家提出宝贵意见。这篇文章主要想讲三个问题。
第一:Hibernate和JDBC的区别。
作为java程序员,我觉得弄清楚Hibernate与JDBC的区别,不仅对打好扎实的基本功比较重要,就是以后的学习,开发也具有相当的借鉴意义。可惜的是现在有好些程序员不屑于学 ......