甲构造是一个特殊的功能或方法创建时初始化对象。
构造函数名称必须与类名称相同。
构造函数的语法与方法相似,只是构造函数没有显式的返回类型。
构造函数的目的是在运行时将初始值分配给实例变量。
java中有两种类型的构造函数,下面给出了这些构造函数的名称:
默认构造函数或无参数构造函数
参数化构造函数
在这里,我们将详细讨论...
默认构造函数或无参数构造函数是不带参数的构造函数。
在此构造函数中,我们不传递任何参数或参数。
当我们在类中不包含任何构造函数时,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 !!
在这里,我们将详细讨论...
参数化构造函数是那些显式接受参数的构造函数。
在此构造函数中,我们必须传递参数或参数。
当我们在类中同时包含构造函数(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