Java:抽象类

抽象

抽象(abstract):一个类中如果有一个抽象函数或者抽象变量,那么这个类也必须是抽象的(abstract)。
你可以将抽象理解为这是一个声明,如果子类继承父类,必须要实现父类的抽象函数或变量,除非子类也定义成抽象函数。抽象函数是没有对象的,抽象类只是一个概念。
就像定义一个鸟类,“鸟”是一个概念,没有实体。只有定义它的子类,如:麻雀,才可以有具体的对象。同时麻雀必须实现“鸟”类的所有抽象的概念,否则自己也得是抽象的。
还有一种情况:父类是抽象函数,子类不实现父类的抽象函数,同时定义自己也是抽象类,让子类的子类实现父类和子类所有的抽象函数。比如麻雀是:鸟类的雀形目,"目"应该是抽象的,没有实体,所有它应该继承鸟类的同时定义自己也为抽象类,然后定义一个麻雀类,继承雀形目,实现鸟类和雀形目的所有抽象函数。

鸟类

public abstract class bird {
	public abstract void Printbird();	//有{}会报错
}

雀形目

public abstract class Passer extends bird {
	public abstract void PrintPasser();
}

麻雀

public class sparrow extends Passer{

	@Override
	public void PrintPasser() {
		System.out.println("this is PrintPasser");
	}
	
	@Override
	public void Printbird() {
		System.out.println("this is Printbird");
	}

	public static void main(String[] args) {
		sparrow sp = new sparrow();
		sp.Printbird();
		sp.PrintPasser();
		System.out.println(sp);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值