浅谈java里Class.forName
来源:互联网 发布:搞笑淘宝客服对话截图 编辑:程序博客网 时间:2024/04/29 11:32
两者是一样的效果。
Class.forName("package.className")
Class.forName的应用:
1)动态加载和创建Class
2)Java中工厂模式经常使用newInstance()方法来创建对象。
factory
其中ExampleInterface是Example的接口,可以写成如下形式:
String
class
factory
进一步可以写成如下形式:
String
class
factory
最后用最简单的描述来区分new关键字和newInstance()方法的区别:
new:
3)使用JDBC时(这部分内容来自http://dustin.iteye.com/blog/44291)
- String
url "jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=utf-8";= - String
user "";= - String
psw "";= - Connection
con = DriverManager.getConnection(url,user,psw);
- com.mysql.jdbc.Driver
driver new= com.mysql.jdbc.Driver(); - //or:
- //new
com.mysql.jdbc.Driver(); - String
url "jdbc:mysql://127.0.0.1/test?useUnicode=true&characterEncoding=utf-8";= - String
user "";= - String
psw "";= - Connection
con = DriverManager.getConnection(url,user,psw); -
- com.mysql.jdbc.Driver
driver null;= - //or:
- ClassLoader
cl new= ClassLoader(); - cl.loadClass("com.mysql.jdbc.Driver");
哦,原来是com.mysql.jdbc.Driver在装载完后自动帮我们完成了这一步骤。源代码是这样的:
- package
com.mysql.jdbc -
- public
class Driver extendsNonRegisteringDriver implementsjava.sql.Driver { -
// ~ Static fields/initializers -
// --------------------------------------------- // -
// Register ourselves with the DriverManager -
// -
static { -
t ry { -
java.sql.DriverManager.registerDriver( Driver()); -
} (SQLException E) { -
new RuntimeException( "Can'tregister );driver!" -
} -
} - //
~ Constructors -
// ----------------------------------------------------------- -
-
public Driver() throwsSQLException { -
Required for Class.forName().newInstance() -
} - }
- 浅谈java里Class.forName
- java中Class.forName的作用浅谈
- java中Class.forName的作用浅谈
- java下Class.forName
- java class.forName
- Java Class.forname
- java Class.forName 介绍
- Java Class.forName() Sqlite
- java Class.forName("") .newInstance();
- java Class.forName("") .newInstance();
- Java Class.forname
- java Class.forName详解
- java下Class.forName
- Java Class.forName()
- java class.forName的作用
- zz:java下Class.forName
- java反射机制---Class.forName("")
- java之-forName和Class
- flash as3使用,播放声音和加载外部…
- va_start、va_end、va_list的使用…
- session和cookie的区别(转)
- 让你随意在Eclipse或MyEclipse选择…
- 关于大脑的一些常识,学习中请注意灵活运用
- 浅谈java里Class.forName
- 日期对象转成数值
- Js页面的多种跳转
- 做网站整个流程
- Myeclipse8.5破解方法
- oracle 中的 CONCAT,substring ,MINUS 用法
- eclipse导入工程中文乱码问题
- [转]java泛型
- java synchronized详解