黑马程序员技术交流社区

标题: 个人课上笔记分享之面向对象6 [打印本页]

作者: miqideliwu    时间: 2016-7-31 00:12
标题: 个人课上笔记分享之面向对象6
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("静态代码块");                                //静态代码块.随着类的加载而加载,且只执行一次/作用:用来给类进行初始化/案例:驱动加载
    }
}







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