因为你并没有生成class f8的对象,只是使用class f8的静态方法,因此,JVM只进行class f8的类载入而类载入的过程只创建和初始化类的静态方法和静态成员,因此 "construct Friend" 被打印出来了
类载入之后,运行main方法,因此 "construct Father"和 "construct Me"被打印出来了,之后程序就结束了由于程序中始终没有生成class f8的对象,因此 "public Brother br" 这个变量也就是中没有创建出来,更不会运行 "new Brother()",因此没有打印出 "construct Brother"如果想深究其具体过程及原理,建议参看 Thinking in Java 第四章至第七章
类载入之后,运行main方法,因此 "construct Father"和 "construct Me"被打印出来了,之后程序就结束了由于程序中始终没有生成class f8的对象,因此 "public Brother br" 这个变量也就是中没有创建出来,更不会运行 "new Brother()",因此没有打印出 "construct Brother"如果想深究其具体过程及原理,建议参看 Thinking in Java 第四章至第七章
若搂主将主函数改为:public static void main(String[] args){
new f8();
new Me();
}自然就有
construct Brother
了请查看《java编程思想》相关章节