public void testClass() throws ClassNotFoundException{
Class unit = UnitDetail.class;
System.out.println(unit);
Class unit2 = new UnitDetail().getClass();
System.out.println(unit2);
Class unit3 = Class.forName("cn.com.cmjt.service.sysManage.unit.bean.UnitDetail");
System.out.println(unit3);
if (unit==unit2) {
System.out.println("相等1");
}if (unit==unit3) {
System.out.println("相等2");
}
结果:
class cn.com.cmjt.service.sysManage.unit.bean.UnitDetailclass cn.com.cmjt.service.sysManage.unit.bean.UnitDetail
class cn.com.cmjt.service.sysManage.unit.bean.UnitDetail
相等1
相等2
获取class对象,通过class对象能调用newinstance()方法或在获取class对象时自动执行静态代码块
贴出Proxool 连接池的静态初始化方法:
public class ProxoolDriver implements Driver {
private static final Log LOG = LogFactory.getLog(ProxoolDriver.class);
static {
try {
DriverManager.registerDriver(new ProxoolDriver());
} catch (SQLException e) {
System.out.println(e.toString());
}
}
private static final Log LOG = LogFactory.getLog(ProxoolDriver.class);
static {
try {
DriverManager.registerDriver(new ProxoolDriver());
} catch (SQLException e) {
System.out.println(e.toString());
}
}
}