Java 构造方法怎么用

写代码的时候,是不是经常遇到“怎么给新做的‘东西’一出来就带上需要的配件?”比如你要做一个奶茶杯,总不能等杯子做好了,再单独插吸管、贴贴纸、放茶包吧?其实写Java代码里,也有个专门干“刚做出来就配齐”的工具,叫构造方法。

什么是构造方法?

举个生活化的例子:你去打印店做名片,报完名字、电话、公司后,打印店不会给你个空白名片,等你回去自己填信息,而是一出来就是印好你信息的成品名片。对应到Java里,如果你要做一个“名片类”,构造方法就是那个“报完信息直接生成成品名片”的步骤——它是创建新对象时,第一个自动执行的方法,专门用来给刚做出来的对象配好需要的初始信息。

Java 构造方法怎么用

构造方法和普通方法不一样在哪?

别把构造方法当成普通的“干活方法”,它有几个独有的特点,记几个简单的点就懂:

  • 名字和类名完全一样:比如类叫BusinessCard,构造方法就叫BusinessCard,不能乱改;
  • 不用写返回值:普通方法要写void或者返回类型,但构造方法连void都不用,因为它的任务就是生成对象,不用额外返回东西;
  • 创建对象时自动跑:你写BusinessCard myCard = new BusinessCard("张三", "138xxxx", "科技公司");,这行代码一执行,构造方法就自动把名字、电话这些信息塞进新名片里,不用你手动调用。

常用的两种构造方法怎么用?

平时写代码最常用的就是无参构造和带参构造,分两种情况说:

无参构造:简单做个“基础款”

如果你的对象不需要额外的初始信息,就用无参构造。比如做一个“普通杯子”,不用指定品牌、容量,只要一个空杯子就行,代码大概是这样:

`java

// 先写杯子类

class Cup {

// 无参构造:做一个没带任何信息的空杯子

public Cup() {

System.out.println("刚做了一个空杯子");

}

}

// 用的时候

public class Test {

public static void main(String[] args) {

Cup myCup = new Cup(); // 一写new Cup,自动跑无参构造,打印那句话

}

}

`

注意:你要是没自己写构造方法,Java会偷偷给你加个默认的无参构造;但你自己写了带参的,默认的无参就没了,别漏写哦。

带参构造:一出来就带“专属信息”

如果要做“定制款”,比如带名字、电话的名片,就用带参构造——相当于你报信息的时候,构造方法直接把这些信息存进对象里,以后用的时候随时拿。比如:

`java

// 名片类

class BusinessCard {

// 先存信息的“小抽屉”

String name;

String phone;

String company;

// 带参构造:一出来就把名字、电话、公司存好

public BusinessCard(String inputName, String inputPhone, String inputCompany) {

name = inputName; // 把传进来的名字放进name抽屉

phone = inputPhone;

company = inputCompany;

}

}

// 用的时候

public class Test {

public static void main(String[] args) {

// 一new就自动跑构造,直接生成带张三信息的名片

BusinessCard zhangCard = new BusinessCard("张三", "138xxxx", "科技公司");

// 以后用的时候直接拿,不用再存

System.out.println(zhangCard.name); // 输出:张三

}

}

`

这种“一创建就带信息”的好处是,你不用之后再挨个给对象赋值,省时间还不容易出错。

用构造方法的小提醒

别用它干别的活,它的本职是“初始化对象”,别在里面写和初始信息无关的复杂逻辑(比如算数学题、打印一堆无关内容);还有,同一个类里可以写多个构造方法,比如你做名片,既可以要带姓名电话的,也可以只要姓名的,这叫“构造方法重载”,只要参数不一样就行,不用记太复杂,用到的时候知道加就行。

这么一看,构造方法其实就是给新对象“刚做好就配齐必需品”的工具,用对了能省好多重复赋值的功夫,写代码也更省心。

上一篇 Java JVM 是什么