彦舜筹备出书中:继承关系中抽象类中,普通方法中调用被子类覆写的抽象方法

本文探讨了在Java中如何使用抽象类及其实现子类的方法调用过程,详细介绍了在抽象类的普通方法中调用抽象方法的机制,并通过具体代码示例展示了这一过程。

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

package cm.abstracts.application;

//这个类用来测试:在抽象类的普通方法中调用抽象方法
public class InstanceFfourtyFive {
	public static void main(String[] args) {
		//有构造方法不一定有对应的抽象方法,有抽象方法必有对应的构造方法
		//通过子类实例化抽象类对象
		Love l = new Hate();
		//直接调用抽象类中定义的抽象方法,其具体内容已经过子类覆写
		l.diaoChou();
	}
}

//创建抽象模板类:父类,必有子类,关键字abstract
abstract class Love{
	//对类中程序自动创建的隐式构造方法,要习惯性创建,养成一种良好习惯
	public Love() {}
	
	//创建抽象类中的普通方法,并在此抽象类的此普通方法中调用抽象方法
	/**	抽象类中可以定义普通方法,最为关键的是,这些普通方法可以直接调用抽象类中定义的抽象方法,而具体的抽象方法是经过子类覆写的	*/
	protected void diaoChou() {
		//经过子类覆写的抽象方法的具体内容
		this.love();
	}
	
	//抽象类中定义的抽象方法
	public abstract void love();
}

//创建子类:抽象类必有子类,一个子类只能有一个抽象类(父类)
class Hate extends Love{
	//对类中程序自动创建的隐式构造方法,要习惯性创建,养成一种良好习惯
	public Hate() {}
	
	@Override  //备注:中文意思覆写、重写、覆盖,重写抽象类中的同名抽象方法
	/**	抽象类中可以定义普通方法,最为关键的是,这些普通方法可以直接调用抽象类中定义的抽象方法,而具体的抽象方法是经过子类覆写的	*/
	//经过子类覆写的抽象方法的具体内容
	public void love() {
		System.out.println("问世间情为何物,直教人生死相许");
		System.out.println("我爱谁,谁爱我,我还能爱谁");
		System.out.println("誓要出书,哪怕自费,字数最起码几十万,近百万");
	}
	
}

彦舜原创,首发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值