带有示例的Java构造函数

Java构造函数

  • 构造是一个特殊的功能或方法创建时初始化对象。

  • 构造函数名称必须与类名称相同。

  • 构造函数的语法与方法相似,只是构造函数没有显式的返回类型。

构造目的

构造函数的目的是在运行时将初始值分配给实例变量。

构造函数的类型

java中有两种类型的构造函数,下面给出了这些构造函数的名称:

  1. 默认构造函数或无参数构造函数

  2. 参数化构造函数

1)默认构造函数或无参数构造函数

在这里,我们将详细讨论...

  • 默认构造函数或无参数构造函数是不带参数的构造函数。

  • 在此构造函数中,我们不传递任何参数或参数。

  • 当我们在类中不包含任何构造函数时,java编译器会默认调用该构造函数,即该构造函数的名称为默认构造函数。

语法:

    class Classname{        Classname(){
            //实例变量的初始化
        }
    }

示例

import java.util.*;

//类声明
class Constr {
    //声明String类型的str实例变量
    String str;
    //构造函数定义    Constr() {
        str = "Hello World!!";
    }
}

public class Main {
    public static void main(String[] args) {
        //构造函数调用
        Constr con = new Constr();
        System.out.println(con.str);
    }

}

输出结果

D:\Programs>javac Main.java
D:\Programs>java Main
Hello World !!

2)参数化构造函数

在这里,我们将详细讨论...

  • 参数化构造函数是那些显式接受参数的构造函数。

  • 在此构造函数中,我们必须传递参数或参数。

  • 当我们在类中同时包含构造函数(Default和Parameterized)时,java编译器不会默认调用此构造函数(即,将显式调用此构造函数)。

语法:

    class Classname{
        Classname(datatype arg1, datatype arg2, ...){
            //实例变量的初始化
        }
    }

示例

import java.util.*;

//类声明
class ParamConstr {
    //实例变量
    String str;
    //构造函数定义
    ParamConstr(String stri) {
        str = stri;
    }
}

public class Main {
    public static void main(String[] args) {
        //调用参数化构造函数
        ParamConstr pcon = new ParamConstr("Hi, Welcome in parametrized constructor");
        System.out.println(pcon.str);
    }
}

输出结果

D:\Programs>javac Main.java

D:\Programs>java Main
Hi, Welcome in parameterized constructor