【Java】构造器的作用是什么?使用中有哪些注意点

本文详细介绍了构造器的作用及其在创建对象过程中的重要性,并列举了在实际应用中使用构造器时需要注意的关键点,包括如何正确地重写无参及含参构造器。

构造器的作用是什么?使用中有哪些注意点

作用:构造器的作用是为了创建对象。
注意
1:系统为每个类都默认写了一个无参构造器,如果没啥大问题不必重写无参构造器。
2:如果重写无参构造器会覆盖掉系统自带的无参构造器。
3:如果写了含参构造器,必须重写一下无参构造器。
4:如果重写含参构造器,创建对象的时候一定要按照含参构造器中参数的顺序。
5:如果重写了含参构造器,可以使用重载思想,比如:可以传入半参或全参
6:如果重写了含参构造器:由于重载的局限性,需要注意一些细节:比如类有三个属性,属于两种数据类型。无法写两个参数类型顺序一样,参数赋值不一样的含两个参数的构造器。

Java 类的继承中,`super()` 方法在子类的构造方法中具有重要作用。在子类的构造方法里,默认会有 `super()` 语句存在,其作用是继承并执行父类的无参构造方法;若将 `super()` 改为 `super(参数)`,则会继承并执行父类的有参构造方法,相当于执行父类相应构造方法中的语句 [^1][^4]。 以下是一个示例代码,展示了 `super()` 方法的使用: ```java class Animal { private String color; private int foot; public Animal() { System.out.println("我是父类无参数构造器"); } public Animal(String color, int foot) { System.out.println("我是父类有参数构造器"); this.color = color; this.foot = foot; } } class Cat extends Animal { public Cat() { super(); // 可省略,默认存在 System.out.println("我是子类无参数构造器"); } public Cat(String color, int foot) { super(color, foot); System.out.println("我是子类有参数构造器"); } } public class Main { public static void main(String[] args) { Cat c = new Cat(); System.out.println("-------------------"); Cat c1 = new Cat("花花", 4); } } ``` 此外,使用 `super()` 方法还有一些需要注意: - `super()` 和 `this()` 均需放在构造方法内第一行,且在一个构造器中只能使用 `this()` 或者 `super()` 之中的一个。 - `this` 和 `super` 不能同时出现在一个构造函数里面。 - `this()` 和 `super()` 都指的是对象,所以均不可以在 static 环境中使用,包括 static 变量、static 方法、static 语句块 [^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

君问归期魏有期

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值