java,this放在第一行,不能和super同时使用

在Java中,`this`关键字用于调用本类的其他构造函数,而`super`用于调用父类的构造函数。两者都必须位于构造函数的第一行,因此不能在同一构造函数中同时使用。这是因为它们都涉及初始化过程,先初始化父类的属性和方法,再进行子类的初始化。如果在同一个构造函数中使用`this`和`super`,可能会导致对象的初始化冲突,因此Java不允许这样做。
摘要由CSDN通过智能技术生成
class A {
	int year, month, day;

	public A() {
		this(2016, 4, 5);//This调用本类的其他构造函数,必须写在第一行
		                 //super()是调用父类的无参构造函数,写不写super()均可,子类默认调用super();
		                 //super(int x)是调用父类的有参构造函数;
		                 //无论是super()还是super(xxxx)也要写在子类构造函数的第一行,
		                 //所以super和this关键字不能同时出现在子类的构造函数中
	}

	public A(int year, int month, int day) {
		this.year = year;
		this.month = month;
		this.day = day;
	}

	public void print() {
		System.out.println(year + "," + month + "," + day);
	}
}

public class Test {
	public static void main(String[] args) {
		A a = new A();
		a.print();
	}
}
///输出: 2016,4,5
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

二十六画生的博客

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

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

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

打赏作者

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

抵扣说明:

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

余额充值