没有合适的资源?快使用搜索试试~ 我知道了~
liuwei1989#study-guide#17-Class.forName和classloader的区别1
需积分: 0 0 下载量 31 浏览量
2022-07-25
14:30:57
上传
评论
收藏 4KB MD 举报
温馨提示
试读
并且只有调用了newInstance()方法采用调用构造函数,创建类的对象看下Class.forName()源码//Class.forName(String c
资源推荐
资源详情
资源评论
[Java](http://lib.csdn.net/base/java)中class.forName\(\)和classLoader都可用来对类进行加载。
class.forName\(\)前者除了将类的.class文件加载到jvm中之外,还会对类进行解释,执行类中的static块。
而classLoader只干一件事情,就是将.class文件加载到jvm中,不会执行static中的内容,只有在newInstance才会去执行static块。
Class.forName\(name, initialize, loader\)带参函数也可控制是否加载static块。并且只有调用了newInstance\(\)方法采用调用构造函数,创建类的对象看下Class.forName\(\)源码
```
//Class.forName(String className) 这是1.8的源码
public static Class> forName(String className) throws ClassNotFoundException {
Class> caller = Reflection.getCallerClass();
return forName0(className, true, ClassLoader.getClassLoader(caller), caller);
}
//注意第二个参数,是指Class被loading后是不是必须被初始化。 不初始化就是不执行static的代码即静态代码
```
然后就是,测试代码证明上面的结论是OK的,如下:
```java
package com.lxk.Reflec
点击阅读更多
资源评论
SeaNico
- 粉丝: 16
- 资源: 321
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 111111111111111111
- Screenshot_2024-04-30-21-47-24-26.jpg
- Cpp1.cpp1111111111
- 利用ERP流程操作的整个订单流程.ppt
- 最新二开版本源码博客论坛源码,UI很漂亮,可切换皮肤界面.rar
- ModStartBlog现代化个人博客系统 v5.2.0源码.rar
- 带posix库的mingw编译器
- SoraAI是一款功能强大的AI助手,由OpenAI开发,以其出色的语音识别技术、广泛的知识库和高度的人工智能特性而备受瞩目
- Thinkphp开发大气响应式个人博客青春博客网站源码.rar
- 最新PHP博客网站程序源码 ThinkPHP.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功