继承关系下构造方法的访问特点

本文详细介绍了Java中继承关系下构造方法的访问特点,包括默认调用父类无参构造器、显示调用super()以及this()的使用规则。通过实例展示了在子类构造器中如何调用父类构造器以及本类其他成员方法。内容涵盖了构造方法的默认行为和this()关键字的应用,帮助读者理解这两者在实际编程中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先继承关系下构造方法的访问特点主要有以下三个方面:

1.在子类的构造方法中,如果没有显示的写super(参数),则默认赠送一个super()。

2.如果显示的写了一个super(参数),则不再赠送。

3.super(参数),必须是第一个语句。

接下来我们通过一个例子来说明:

public class Test {
	
	public static void main(String[] args) {
		
		Zi zi=new Zi();
		zi.method();
	}

}
public class Fu {
	
	public int a=10;
	
	public void method() {
		
		System.out.println(a);
	}
}
public class Zi extends Fu{
	
	public int a=20;
	
	public void test() {
		
		System.out.println(a);
	}

}

这个代码执行过后的结果是10,咱们能通过图示看到:

 

 

 通过这个例子我们能看到,在创建子类的时候,一定会调用到父类的method构造方法。而且在本例中我并没有写super(参数),此时会默认赠送一个super()。

注意事项:

super();调用父类的构造方法,只能在子类的构造方法调用。

除此以外还有this()访问本类的其他成员方法,有四个方面如下:

1.this()必须写在构造方法中

2.必须是第一个语句,this(参数)和super(参数)还不能同时存在

3.写类this(参数)之后就不在赠送super()

4.构造方法不能递归

同样我们也通过一个具体的例子来说明this()的用法:

public class Test {
	
	public static void main(String[] args) {
		
		Zi zi=new Zi();
		zi.test();
		
	}

}
public class Fu {
	
	public int a=10;
	
	public void method() {
		
		System.out.println(a);
	}
}
public class Zi extends Fu{
	
	public int a=20;
	
	public void test() {
		
		this.method();
		
	}

}

如上图代码块所示,我们在子类中用this()调用了父类中的method()方法,所以独处的结论肯定是10.

运行如下图:

 

以上就是继承关系下构造方法的访问特点以及this()访问本类其他成员方法的概念以及举例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值