抽象类与抽象方法

抽象类是一种典型的超类,一般包含有抽象方法(可以不包含抽象方法),而这些抽象方法需由子类来实现,即:子类覆盖超类中的抽象方法,并提供实现代码。

简单例子:

 

声明抽象类:

  1. 类中有抽象方法,则这个类必须声明为抽象方法;
  2. 抽象类中可以没有抽象方法;       

 

 

 

抽象类的特点:

不能通过new来创建抽象类的对象

抽象类不能被 final 修饰(被final修饰后,这个类就不能被继承了,违背了抽象类的设计初衷)

 

 

抽象方法声明:

抽象方法不能用final修饰抽象方法,否则不能被子类覆盖。

 

抽象方法不能被private修饰,否则子类无法访问。

 

抽象方法不能被static修饰,否则就可以通过抽象类名来调用这个抽象方法,而此时的抽象方法无任何实现,会出错,所以JAVA规定抽象方法不能被static修饰,抽象方法只能是实例方法。

在子类中实现抽象方法

在子类中实现抽象方法后,就可以通过子类来创建对象了。

注意:子类实现了父类的所有抽象方法,则子类可以声明为普通类,也可以声明为抽象类

         子类没有实现父类的所有抽象方法,则子类必须声明为抽象方法。

 

转载于:https://www.cnblogs.com/maxiaoshuai/p/5400774.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值