1.3 构造方法

什么是构造方法

带参数的构造方法

[@more@]

1.3.1 什么是构造方法

Java语言中,当创建一个对象时,需要对创建的对象做相应的初始化工作,例如分配内存地址给对象的属性,设定对象属性的初始值。这个工作是由Java中一种被称为“构造方法”的特殊方法来完成的。

Java的每一个类中,都会提供一个构造方法。如果该类中我们没有定义构造方法,那么在该类中编译器会自动调用隐式构造方法。

构造方法的语法规则:

1、 方法名必须与类名相同

2、 没有返回类型,也不能写void

实例7就给出了一个构造方法的示例,在这个构造方法中,为对象属性nameage赋予了初始值。

实例7

package org.hopetech.l01;

public class Employee4 {

private String name; // 员工姓名

private int age; // 员工年龄

public Employee4(){

this.name = "罗治国";

this.age = 30;

}

/**

* 员工进行自我介绍

*/

public void selfIntroduction() {

System.out.println("我是" + name + ",我今年有" + age + "岁了!");

}

}

对象不可以调用构造方法,构造方法是专门用来创建对象的。因此构造方法必须必由new关键字调用。例如:Employee4 employee = new Employee4();

如实例8所示,运行结果如图1.4所示。

实例8

package org.hopetech.l01;

public class Employee3Test {

public static void main(String[] args) {

//调用构造方法实例化员工类

Employee4 employee = new Employee4();

//调用员工自我介绍的方法

employee.selfIntroduction();

}

}

1.4 实例8运行的结果

在实例化对象时,我们已经通过构造方法为实例对象属性赋了默认的初始值,完成了对象属性的实始化工作。

如果我们想显式地为实例对象属性赋初始值,也就是说,我们将类实例化多个对象,而每个对象的属性值都不是不同的。这个时候,我们需要使用到带参的构造方法。

1.3.2 带参数的构造方法

带参数的构造方法可以在实例化对象时,通过构造方法传入参数初始化对象的属性。

实例9

package org.hopetech.l01;

public class Employee5 {

private String name; // 员工姓名

private int age; // 员工年龄

public Employee5(String name,int age){

this.name = name;

this.age = age;

}

/**

* 员工进行自我介绍

*/

public void selfIntroduction() {

System.out.println("我是" + name + ",我今年有" + age + "岁了!");

}

}

很明显,我们通过带参构造方法,显式的为Employee5员工类的各个实例属性赋予了初始值。

在使用带参构造方法实例化对象时,传递的值必须和构造方法的参数在个数、顺序和数据类型上完全匹配。如实例10所示,运行结果如图1.5

实例10

package org.hopetech.l01;

public class Employee5Test {

public static void main(String[] args) {

//使用带参构造方法实例化一个员工

Employee5 employee1 = new Employee5("李东",24);

Employee5 employee2 = new Employee5("罗治国",30);

//调用员工自我介绍的方法

employee1.selfIntroduction();

employee2.selfIntroduction();

}

}

1.5 实例10运行的结果

通过调用带参构造方法,在创建对象的同时完成了对象属性的初始化工作,简化了对象初始化的操作。

在不同情况下,我们对类可能有不同的初始化行为。那么我们可能要编写多个构造方法,这种情况应该怎么样才能解决呢?我们下面将会学到一个重要概念:方法重载。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16657027/viewspace-1041517/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16657027/viewspace-1041517/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值