反射(2)—3种类加载方法的区别

直接上源码:

 1 package reflex;
 2
 3 public class Dog {
 4     static{
 5         System.out.println("加载静态模块");
 6     }
 7     public Dog(){
 8         System.out.println("执行构造方法");
 9     }
10 }
 1 package reflex;
 2
 3 import org.junit.Test;
 4 /**
 5  *三种类的加载方法区别
 6  *1.Class.forName("类名"):加载类,并静态初始化;
 7  *2.通过关键字new :加载类,并静态初始化,执行构造方法
 8  *3.类名.class:只加载类,不做静态初始化。
 9  */
10 public class DogReflex {
11     @Test
12     /**
13      * 打印结果:加载静态模块
14      */
15     public void test1() throws Exception{
16         Class clazz = Class.forName("reflex.Dog");
17     }
18     @Test
19     /**
20      * 打印结果:加载静态模块
21      *             执行构造方法
22      */
23     public void test2(){
24         Class Clazz = new Dog().getClass();
25     }
26     @Test
27     /**
28      *无打印结果
29      */
30     public void test3() throws Exception{
31         Class clazz = Dog.class;
32     }
33 }
时间: 2024-10-13 21:33:20

反射(2)—3种类加载方法的区别的相关文章

请问一下这三种存储方法的区别?原理是什么样子的?哪一种比较好,能不能提供一些意见。谢谢

public String nickName; public Integer userId; public String login(){ //登录之后 方法1. userId = user.getId();nickName = user.getNickName(); 方法2. this.getResRequest().setAttribute("userId", userId); this.getResRequest().setAttribute("nickName&quo

String的几种初始化方法的区别

参考了: java中String的两种初始化方法 ? String a; String aa = ""; String aaa = "123"; String b = new String(); String bb = new String(""); String bbb = new String("123"); String c = null; ? System.out.println(aa == bb);????????/

Hadoop Hive 中几种排序方法的区别与比较

Hive 中 Order by, Sort by ,Dristribute by,Cluster By 的作用和用法 1. order by set hive.mapred.mode=nonstrict; (default value / 默认值) set hive.mapred.mode=strict; order by 和数据库中的Order by 功能一致,按照某一项 & 几项 排序输出. 与数据库中 order by 的区别在于在hive.mapred.mode = strict 模式下

关于UIImage类的对象两种初始化方法的区别

1.imageNamed: 1 UIImage *image = [UIImage imageNamed:@"1"]; UIImage的类方法 第一次读取图片的时候,先把这个图片放到缓存中,下次再使用这个名字的图片时,直接从缓存中读取:如果缓存中不存在这个名字的图像,则先把该图片加载到缓存中,再返回该对象.如果我们需要短时间内频繁的加载一些一次性的图像,最好不要使用这种方法. 优点:方便快捷,只有第一次使用的时候稍慢,接下来再使用就会稍微快点: 缺点:如果在当前工程中只使用一次,就会浪

get和post两种请求方法的区别

GET在浏览器回退时是无害的,而POST会再次提交请求. GET产生的URL地址可以被Bookmark,而POST不可以. GET请求会被浏览器主动cache,而POST不会,除非手动设置. GET请求只能进行url编码,而POST支持多种编码方式. GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留. GET请求在URL中传送的参数是有长度限制的,而POST么有. 对参数的数据类型,GET只接受ASCII字符,而POST没有限制. GET比POST更不安全,因为参数直接

Java中创建对象的5种方式 &&new关键字和newInstance()方法的区别

转载:http://www.kuqin.com/shuoit/20160719/352659.html 用最简单的描述来区分new关键字和newInstance()方法的区别:newInstance: 弱类型.低效率.只能调用无参构造.new: 强类型.相对高效.能调用任何public构造. newInstance( )是一个方法,而new是一个关键字,其次,Class下的newInstance()的使用有局限,因为它生成对象只能调用无参的构造函数,而使用new关键字生成对象没有这个限制.Cla

PHP中数组合并的两种方法及区别介绍

PHP数组合并两种方法及区别 如果是关联数组,如下: 复制代码代码如下: $a = array( 'where' => 'uid=1', 'order' => 'uid', ); $b = array( 'where' => 'uid=2', 'order' => 'uid desc', ); 1. array_merge,如果两个数组存在相同的key,后面的一个会覆盖前面的 复制代码代码如下: <?php $c = array_merge($a, $b); var_expo

定义c/c++全局变量/常量几种方法的区别(转载)

出自:http://www.cnblogs.com/yaozhongxiao/archive/2010/08/08/1795338.html 在讨论全局变量之前我们先要明白几个基本的概念:  1. 编译单元(模块): 在ide开发工具大行其道的今天,对于编译的一些概念很多人已经不再清楚了,很多程序员最怕的就是处理连接错误 (link error)  因为它不像编译错误那样可以给出你程序错误的具体位置,你常常对这种错误感到懊恼,但是如果你经常使用 gcc,makefile等工具在linux或者嵌入

【JQuery】jQuery(document).ready(function($) { });的几种表示方法及load和ready的区别

jQuery中处理加载时机的几种方式 第一种: jQuery(document).ready(function() { alert("你好"); }); //或 $(document).ready(function() { alert("你好"); }); 第二种: jQuery(function() { alert("你好"); }); //或 $(function() { alert("你好"); }); 第三种: (fu