Java—构造方法

 

关于构造器:变量优于方法执行,只要在方法外面(包括构造器)

 

此处我主要想说明,用构造器创建类和变量的初始化顺序,该程序输出:

person(1)
person(3)
this is build's block!
person(2)

说明:不论变量放在哪儿,都会先于任意一个方法的执行前执行,包括构造方法,而构造方法是一个类必须会执行的方法,不需要显示的进行调用。同时,不论变量在哪儿分布,只要在方法外部,就一定先于方法初始化。


一个类 被实例化 也就是被new的时候最先执行的是构造函数也就是说,如果该构造器私有化了之后就不能被别的类实例化,也就是单例模型的核心,如果你有留心。你会发现很多类里面根本没有写构造函数。
在java类中,如果不显示声明构造函数,JVM 会给该类一个默认的构造函数。一个类 可以有多个构造函数。构造函数的主要作用 一是用来实例化该类。二是 让该类实例化的时候执行哪些方法,初始化哪些属性。当一个类声明了构造函数以后,JVM 是不会再给该类分配默认的构造函数。
比如一个实体类
public class entity{
      private int id;
      private String userName;
     get...set..方法
}
如果这样写该类就是默认的构造函数。该类实例化的时候 id 和 username 就是默认值 即 id=0,username=null.
如果在里面加入这样一个方法
public entity(int id,String userName){
     调用get..set..
}
如果这样写 该类实例化的时候 必须给出 id  和username参数。 JVM不会再给这个类默认构造函数
你也可以理解成 在没有给构造函数的时候 JVM 给你的类加了一个这样的函数
public entity(){
  this.id=0;
  this.userName=null;
}
其实构造函数是用来对一个类以及变量进行实例化。

 

你可能感兴趣的:(java基础)