编译时加载类是静态加载,运行时加载类是动态加载
new 创建对象,是静态加载类,在编译时刻就需要加载可能使用到的类。
Class c = Class.forName("类的全称"); //动态加载类
word w = (Word)c.newInstance(); //通过类类型,创建该类的对象
1 package com.reflect; 2 3 /** 4 * @author 作者:方o丈 5 * @version 创建时间:2018年6月9日 下午2:20:24 6 * 类说明: 7 */ 8 public class Test { 9 10 public static void main(String[] args) { 11 Class c1 = int.class; 12 Class c2 = double.class; 13 Class c3 = Double.class; 14 Class c4 = String.class; 15 Class c5 = void.class; 16 17 System.out.println(c1.getName()); 18 System.out.println(c2.getName()); 19 System.out.println(c3.getName()); 20 System.out.println(c3.getSimpleName()); 21 System.out.println(c4.getName()); 22 System.out.println(c4.getSimpleName()); 23 System.out.println(c5.getName()); 24 } 25 26 }
运行结果: