Java面向对象(构造方法)

这篇博客主要介绍了Java中的构造方法,包括构造方法的作用、无参和有参构造方法、构造器的重载以及this关键字的使用。构造方法是用于创建对象和初始化设置的重要手段,当没有指定构造方法时,系统会自动添加无参构造方法。此外,博客还提到了this关键字在构造方法中的应用,以及构造方法调用的规则和总结。
摘要由CSDN通过智能技术生成

构造方法

构造方法也称之为构造函数,构造器,是面向对象编程中的一个重要概念。
我们经常会使用构造方法来完成对象初始化的相关设置。构造方法在调用的时候必须配合new关键字,是不能被单独调用的。
在这里插入图片描述
注意:构造方法与类同名且没有返回值。构造方法只能在对象实例化的时候被调用
构造器本身是一个比较特殊的方法,方法名就是类名,没有返回值(和void是有区别的),构造器是类创建对象的唯一途径。

构造器的最大用处就是创建对象

无参构造方法
前面我们在定义对象时,发现并没有创建构造方法,但是我们依然可以使用构造方法去创建对象。

Cat one = new Cat();

这是因为,当没有指定构造方法时,系统(jvm)会自动添加无参构造方法。也就是说在一个类中至少会存在一个构造方法。便于我们的程序能够正常的执行,对象能够正常的进行实例化操作。
一个类中可以有多个构造方法,当有指定构造方法、无论是有参、无参的构造方法,都不会自动添加无参的构造方法。

有参构造方法
通过构造器为成员变量定义初始化值,这也是构造器的最最最重要的用途之一
比如:

public Cat(String name, int month, double weight, String species) {
  name = name;
  month = month;
  weight = weight;
  species = species;
}

但是若按照上述方法来写的话,实际上是有问题的,此处的代码逻辑发生了错误,遵循了一种就近原则 ——赋值过程中先优先的去找同一个作用范围内的成员进行赋值操作。只有找不到的情况下才会扩大作用范围,去类里面找。通俗来讲,上面的只是将参数的值重新覆盖了一遍,并没有按照我们想要的那样去赋值。

针对于这样的问题,我们可以有两种解决方案。
第一种,修改参数名,如:

public Cat(String name1, int month1, double weight1, Stri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值