动态加载类和静态加载类
2015-07-23 11:30
190 查看
今天看反射,遇到了动态加载类和静态加载类的问题,上网搜答案,自己有了理解。
动态加载类:在运行阶段加载类。
典型的例子是:Class.forName("java.lang.Number");
静态加载类:在编译时刻加载类。
典型的例子是:new Number();
两者有什么区别呢?
静态加载的类,在编译阶段就需要提供,不提供编译器会报错。比如源程序中Student s = new Student();,如果源程序中没有定义Student类,那么编译器就会报错。
动态加载的类,在编译阶段可以缺席,编译器不会报错,在运行阶段需要提供。比如源程序中Class c = Class.forName("com.shawn.student");,如果源程序中并没有定义Student类,编译器并不会报错,可以通过编译。
动态加载类:在运行阶段加载类。
典型的例子是:Class.forName("java.lang.Number");
静态加载类:在编译时刻加载类。
典型的例子是:new Number();
两者有什么区别呢?
静态加载的类,在编译阶段就需要提供,不提供编译器会报错。比如源程序中Student s = new Student();,如果源程序中没有定义Student类,那么编译器就会报错。
动态加载的类,在编译阶段可以缺席,编译器不会报错,在运行阶段需要提供。比如源程序中Class c = Class.forName("com.shawn.student");,如果源程序中并没有定义Student类,编译器并不会报错,可以通过编译。
相关文章推荐
- LeetCode(43) Multiply Strings
- 为label或者textView添加placeHolder
- HTML5引擎Construct2技术剖析(三)
- 【Android应用保护技术探索之路系列】之二:对抗反编译
- 【Android应用保护技术探索之路系列】之一:Android应用保护技术开篇
- 为label或者textView添加placeHolder
- IOS常用宏定义
- 神、上帝以及老天爷
- Java调用动态库方法说明
- Windows Server 2012 R2 文件服务器安装与配置01 之目录说明
- 中文化和国际化问题权威解析之一:字符编码发展历程
- AVAudioPlayer 如何在页面呈现之后按需初始化
- iOS多视图控制器跳转方法
- winform propertygrid用法
- android实现点击按钮实现home键的功能
- (转)说说进程与线程的区别与联系
- Counting Triangles(hd1396)
- 给 UILabel 中的文字增加 line-through / Strikethrough (删除线)样式
- Objective-C学习笔记(十)——循环语句for和do-while的使用
- pandas 数据归一化以及行删除例程