获得class对象的方法有哪些,区别是什么?
public class A{
static { System.out.println("stat1c") }
{ System.out.println("dynamic") }
}
-
A.class
:不会加载类,只是获取类信息,因此不执行静态、普通代码块
-
Class.forName("package.A")
: 将类加载到内存中,执行一次静态代码块
-
new A().getClass()
:如果是第一次创建实例,则代码块都会执行,否则不执行任何代码块