认识两种代码块,了解他们的特点和基本作用

package itheima;

public class Test {
    public static void main(String[] args) {
        //认识两种代码块,了解他们的特点和基本作用
        /**代码块是类的5大成分之一(成员变量、构造器、方法、代码块、内部类)
         * 静态代码块:
         * 格式:static{}
         * 特点:类加载时自动执行,由于类只会加载一次,所以静态代码块也只会执行一次
         *作用:完成类的初始化,例如:对类变量的初始化赋值
         *
         * 实例代码块:
         * 格式:{}
         * 每次创建对象时,执行实例代码块,并在构造器前执行
         * 作用:和构造器一样,都是来完成对象的初始化的,例如:对实例变量初始化赋值
         *
         * */
        System.out.println(Student.number);
        System.out.println(Student.number);
        System.out.println(Student.number);

        System.out.println(Student.schoolName);//黑马

        System.out.println("-------------------------------------------------");

        Student s1=new Student();
        Student s2=new Student("张三");




    }
}
package itheima;

public class Student {
        static int number=80;
        static String schoolName;
        //静态代码块
    static {
            System.out.println("静态代码块被执行了---");
            schoolName="黑马";
        }
    //实例代码块
    {
        System.out.println("实例代码块被执行");
        System.out.println("有人创建对象了,地址为:"+this);
    }
    public Student(){
        System.out.println("无参构造器执行");
    }
    public Student(String name){
        System.out.println("有参构造器被执行");
    }
}

 

posted @ 2023-05-28 15:22  Karlshell  阅读(44)  评论(0)    收藏  举报