编程语言
首页 > 编程语言> > Java 构造器

Java 构造器

作者:互联网

构造器

构造器能在实例化对象的时候直接传入参数,使对象完成我们设定的初始化,构造器本质上就是一个成员方法,在实例化对象时,会运行构造器方法,但是它没有返回值,且由无需自己调用,JVM会在实例化对象时调用构造器方法。

如果有python基础可以将构造器认为是python中的初始化方法__init__

构造器定义、使用

构造器的定义方法,在类中定义一个与类名同名的方法即可

语法访问修饰符 类名 (形参列表) {方法体}

class ... {
    public static void main (String[] args) {
        // 实例化对象,并传参
        Constructor conObj = new Constructor(1, "Test", 1.1);
        System.out.println(conObj.number + "\n" + conObj.str + "\n" + conObj.floatNum);
    }
}

class Constructor {
    int number;
    String str;
    double floatNum;
    // 构造器
    public Constructor (int Num, String Str, double FloatNum) {
        number = Num;
        Str = Str;
        floatNum = FloatNum;
    }
}

构造器细节

  1. 如果类中没有定义构造器,那么 Java 会自己生成一个无参构造器 类名 () {},如果定义了构造器那么默认的无参构造器将会被覆盖,也就是不能再使用无参方式实例化对象,除非利用重载重新定义一个无参构造器。
  2. 构造器支持重载,与方法的重载一样,一样是通过我们传入的实参匹配调用对应的构造器。
  3. 构造器的名字一定要与类名一致,严格区分大小写
  4. 构造器没有返回值,定义构造器时无需指定返回值类型
  5. 构造器方法会在实例化对象的时候自动调用。
  6. 构造器方法无法被手动调用。

对象创建流程

  1. 先在方法区中加载类信息(如果在此之前加载过不会再进行二次加载)
  2. new 在堆中开辟对象空间
  3. 初始化对象属性并设置对象属性默认值
  4. 如果在类中给类属性赋值了,会对类属性进行显式初始化
  5. 执行构造器方法
  6. 将对象空间的内存地址返回给引用对象的变量

标签:无参,Java,对象,构造,实例,Constructor,方法
来源: https://www.cnblogs.com/jwyqn/p/16247757.html