println()这本身就带有换行
这个没换行:print()
前面部分一样,懒得打了
反射的核心就是JVM在运行时才动态加载类或调用方法,访问属性,它不需要事先(写代码的时候或编译期)知道运行对象是谁。
每一个类都会产生一个对应的Class对象,也就是保存在.class文件。
所有类都是在对其第一次使用时,动态加载到JVM的,当程序创建一个对类的静态成员的引用时,就会加载这个类,Class对象仅在需要的时候才会加载,static初始化是在类加载时进行的。
public class TestMain {
public static void main(String[] args) {
System.out.println(Test.name);
// 对Test类的静态成员name引用。
}
}
class Test {
public static String name = "Test Name";
static {
System.out.println("Test静态块");
}
public Test() {
System.out.println("Test构造了");
}
}
输出:
Test静态块
Test Name