静态代码块,构造代码块,构造方法三者的区别与联系

来源:互联网 发布:mac os x 软件 编辑:程序博客网 时间:2024/06/14 20:01

1.首先在任何一个类中,一般来说一定存在着构造方法,即使什么也没写,那就说明类中默认是无参的构造方法,例如

public class  Student{

   private int age;

   public void setAge(int age){

this.age=age;

  }

         public int getAge(){

return age;

 }

public void show(){

System.out.println("学生爱学习");

}

}

这是一个完整的类,包括成员属性,还有成员方法,同时还包括了构造方法,此时的构造方法时隐式无参的,是可以进行初始化的,但是如果一个类中有如下的内容

public class Studeng{

       private int age;

       static{

                System.out.println("这是静态代码块");

      }

      Student(){

              System.out.println("这是构造代码块");

       }

       public Student(){

                System.out.println("这是无参构造方法");

       }

       public Student(int age){

              this.age=age;

              System.out.println("这是有参的构造方法")

       }

}//一般来说。构造方法是用来初始化的,一般每产生一个新的对象便会执行一次,但是执行有参的操作要看具体的情况,但是每次有且只能执行一个,但是构造代码块,也是每次产生新类的时候就执行一次,但是是一定要执行,且不能进行重载,静态代码块,只有当类加载的时候,只能执行一次,当程序中没有写构造方法时,默认是 无参的,但是当没有显示的写出静态代码块和构造代码块是没有默认的,也就是静态代码块和构造代码块在程序中是可以省略的,(一个程序中可以同时存在几个静态代码块)

实例:
public class TestDemo{

           public static void main(String[] args){

                 Student student=new Student();

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

                  Student student2=new Student();

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

                 Student   student3=new Student(18);

           }

}

//最后的执行结果就是                       这是静态代码块

                                                             这是构造代码块

                                                              这是无参构造方法

                                                          -----------------------------------------------------------------------------

                                                               这是构造代码块

                                                                这是无参构造方法

                                                        -----------------------------------------------------------------------------

                                                                这是构造代码块

                                                               这是有参的构造方法




原创粉丝点击