java复习二:抽象类和抽象方法的概述

抽象类:抽象类其实跟其他的类相比只是它多了抽象方法而已,那什么是抽象方法呢?抽象方法就是只声明但是不用实现的方法,所有的抽象方法都必须用abstract关键字来声明,当然了包含抽象方法的抽象类也必须用abstract class来声明。

下面来跟大家说下抽象类的定义规则:

1.抽象类与抽象方法必须用abstract关键字来声明

2.抽象类是不能被直接实例化的,其实也就是不能用new 关键字来产生对象。

3.抽象方法只需声明就可以了。实现就是子类的事了

4.含有抽象方法的类必须声明为抽象类是必须!!!!!,抽象类的子类必须覆写所有的抽象方法后才能被实例化,否则这个子类还是个抽象类。

其实抽象方法只是声明了返回值的数据类型、方法名称、与所需的参数,但没有定义方法体。所以子类才必须覆写掉抽象方法。

在这还要说的一点是:因为final修饰的类不能被继承,所以final和abstract永远不能同时使用……不仅如此如果把abstract比喻成一个小姑娘的话,abstract她妈妈给她顶的规矩就是不能跟final、static、还有private这三个小伙子谈恋爱。

static修饰一个方法时,表明这个方法属于当前类,就是说这个方法可以通过类来调用;如果这个方法被定义成抽象方法的话,那就会导致通过这个类在调用这个方法时出现错误(调用一个没有方法体的方法肯定会出错)所以他俩就不能在一起了…………。

还有就是private了,因为abstract必须被子类重写才有意义,否则这个方法永远不会有方法体,所以呢abstract方法就不能定义为private访问权限,即这俩也不能在一起。

说了这么多,那么抽象类出现的意义到底是什么呢?抽象类不能创建实例,只能当爹爹来继承。

从语义上来说呢,就是说抽象类是从n个具体类中找共同点而抽象出来的父类,从多个具有相同特征的的类中抽象出一个抽象类,就可以避免下面的子类在设计时的随意性。

抽象类其实体现的是一种设计模式:模板模式。抽象类作为模板,子类可以在它的基础上拓展、修改但是还能保存抽象类的行为方式。

模板模式在面向对象的软件设计中还是很常用的,原理简单、实现也很简单所以我们应该很清楚的知道编写代码一定要有好的规范,这样才能写出优秀的代码,才能做一个优秀的程序员。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值