java Class.forName 介绍
来源:互联网 发布:网络歌曲我想静静 编辑:程序博客网 时间:2024/05/16 05:28
Class.forName(xxx.xx.xx)
首先你要明白在java里面任何class都要装载在虚拟机上才能运行。这句话就是装载类用的(和new
至于什么时候用,你可以考虑一下这个问题,给你一个字符串变量,它代表一个类的包名和类名,你怎么实例化它?只有你提到的这个方法了,不过要再加一点。
A
这和你
A
是一样的效果。
关于补充的问题
答案是肯定的,jvm会执行静态代码段,你要记住一个概念,静态代码是和class绑定的,class装载成功就表示执行了你的静态代码了。而且以后不会再走这段静态代码了。
Class.forName(xxx.xx.xx)
Class.forName(xxx.xx.xx);的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段
动态加载和创建Class
String
Class
t.newInstance();
Java中工厂模式经常使用newInstance()方法来创建对象,因此从为什么要使用工厂模式上可以找到具体答案。
class
factory
其中ExampleInterface是Example的接口,可以写成如下形式:
String
class
factory
进一步可以写成如下形式:
String
class
factory
上面代码已经不存在Example的类名称,它的优点是,无论Example类怎么变化,上述代码不变,甚至可以更换Example的兄弟类Example2
从JVM的角度看,我们使用关键字new创建一个类的时候,这个类可以没有被加载。但是使用newInstance()方法的时候,就必须保证:1、这个类已经加载;2、这个类已经连接了。而完成上面两个步骤的正是Class的静态方法forName()所完成的,这个静态方法调用了启动类加载器,即加载 java
现在可以看出,newInstance()实际上是把new这个方式分解为两步,即首先调用Class加载方法加载某个类,然后实例化。
最后用最简单的描述来区分new关键字和newInstance()方法的区别:
newInstance:
new:
下面内容转自
http://blog.csdn.net/iceman1952/archive/2007/03/07/1523025.aspx
介绍的是 forName() 和 ClassLoader 的 loadClass 方法。
现在终于知道了为什么
关于forName()方法
这个方法总是返回要加载的类的Class类的实例
1、forName(String className)单参数时, initialize=true
2、forName(String className, boolean initialize, ClassLoader loader)
关于用户自定义的类装载器的loadClass()方法
1、loadClass(String name)单参数时, resolve=false
2、loadClass(String name, boolean resolve)
- java Class.forName 介绍
- Class.forName 介绍
- Class.forName介绍
- Class.forName 介绍
- Class.forName 介绍
- Class.forName 介绍
- Class.forName 介绍
- Class.forName 介绍
- Class.forName 介绍
- Class.forName 介绍
- Class.forName方法介绍
- Class.forName 介绍
- Class.forName newInstance 介绍
- Class.forName方法介绍
- Class.forName 介绍
- class.forName介绍
- java下Class.forName
- java class.forName
- 关于数据挖掘推荐系统实现
- jsp response对象
- error: 'glGenFramebuffersOES' was not declared in this scope
- 关注firefox os
- 结构型模式:Bridge(桥接)
- java Class.forName 介绍
- Cannot find module with tag 'libjpeg' in import path
- Cocos2dx新建项目在eclipse中无法编译运行
- HTTP报文解析器
- asterisk read无法接受按键
- ffmpeg教程
- Tomcat部署web项目
- Java WEB开发中路径问题的总结
- torrent文件分析