黑马程序员技术交流社区

标题: 为什么下面程序中测试类中的构造代码块不输出 [打印本页]

作者: scz63    时间: 2016-7-7 22:15
标题: 为什么下面程序中测试类中的构造代码块不输出
class Student {
        static {
                System.out.println("Student 静态代码块");
        }
       
        {
                System.out.println("Student 构造代码块");
        }
       
        public Student() {
                System.out.println("Student 构造方法");
        }
}

class Demo2_Student {
        static {
                System.out.println("Demo2_Student静态代码块");
        }
        {
                System.out.println("Demo2_Student 构造代码块");
        }
        public static void main(String[] args) {
                System.out.println("我是main方法");
               
                Student s1 = new Student();
                Student s2 = new Student();
        }
作者: feng19900123    时间: 2016-7-7 22:27
因为jvm是直接调用main方法,而没有创建测试类对象,构造代码块只有在创建对象时执行构造方法时调用,而测试类没有创建对象所以就没有执行构造方法。
作者: 紫电_恶魔    时间: 2016-7-7 22:46
同意楼上,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2