A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Demo1_Code {
    public static void main(String[] args) {
        //System.out.println("Hello World!");
        {
            int x =10;                                                    //局部代码块:限定了变量的生命周期,及早释放,提高内存利用率
            System.out.println(x);
            System.out.println("局部代码块");
        }
        /*
        {
            int x =10;
        }
        System.out.println(x);
        */
        Demo1_Code c = new Demo1_Code();                                //创建本类对象,构造代码块才执行

        Student s1 = new Student();
        System.out.println();

        Student s2 = new Student("White",25);
        System.out.println();

        
    }
    {
        int x =10;                                                        //此处为构造代码块而不是局部代码块,不创建本类对象就不会被执行放
        System.out.println(x);
        System.out.println("我是构造代码块,不是局部代码块");
    }
    static{
        System.out.println("我是在主方法中的静态代码块");                //静态代码块.优先于主方法执行
        }
}

class Student{
    private String name;
    private int age;

    public Student() {                                                    //空参构造
        System.out.println("空参构造");                                    
    }                                                                    

    public Student(String name,int age) {
        this.name = name;
        this.age = age;
        System.out.println("有参构造");
    }

    {
        study();
        System.out.println("构造代码块");                                //构造代码块每创建一次对象就会执行一次,优先于构造函数执行
    }

    /*
    public Student() {
        study();
        System.out.println("空参构造");
    }                                                               

    public Student(String name,int age) {
        study();
        this.name = name;
        this.age = age;
        System.out.println("有参构造");
    }

    {
        System.out.println("构造代码块");                                
    }
    */
    public void study() {
        System.out.println("学习");
    }
   
    static{
        System.out.println("静态代码块");                                //静态代码块.随着类的加载而加载,且只执行一次/作用:用来给类进行初始化/案例:驱动加载
    }
}


2 个回复

倒序浏览
总结的很好
回复 使用道具 举报
谢谢楼主分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马