0813final关键字、抽象类和接口

第13讲 :final关键字
final可以用于类的前面(成为最终类也就是说这个类不能有子类)。
如果一个方法修饰为final方法,那么这个方法就不能被子类重写,同时,final方法的行为是不允许子类篡改的。
虽然final修饰的方法不能被子类重写,但是可以被子类继承。
final修饰的成员变量,对象虽然可以操作使用它,但是不能对它进行更改操作。
第14讲:抽象类和接口
一、抽象类
1.1、abstract关键字
abstract抽象修饰符可以修饰方法和类,使用abstract修饰符修饰的方法称为抽象方法,使用abstract修饰符修饰的类称为抽象类。在抽象方法中是没有方法体的,并且以分号结尾。
1.2、抽象类的定义
当一个类中具有抽象方法时,该类就被视为一个抽象类。
注意:抽象类不能创建对象也就是不能给抽象类创建类的实例(抽象类不能用new创建对象)
当子类继承抽象类时,必须对父类中的所有抽象方法进行重写,也就是说,如果父类有两个抽象方法那么子类继承后必须实现父类的两个抽象方法,否则子类也必须定义为抽象类。如果子类把父类的所有抽象方法都进行重写了那么该子类就不是抽象类了。
1.3、抽象方法的限制
final方法不能为抽象方法,这是因为final的方法不能被重写,但是抽象方法必须经过子类重写才能被使用
私有方法不能被定义为抽象方法,私有方法并不能被子类继承,而抽象方法必须被子类继承,然后重写实现。
静态方法不能被定义为抽象方法,因为抽象方法所在的抽象类是不能创建对象的,也就是不能够被实例化的。但是静态方法是可以通过类名调用,这样调用抽象方法是没有任何意义的
二、接口
接口的定义
接口和父类有很多相似的地方,在程序中也是这样的,但是他们表示的含义完全不同。但是接口对外提供的是一个窗口的功能,子类可以同时接收多个接口,而一个子类只能有一个父类,interface是定义接口的关键字,当有该关键字时,就表示这里定义的是一个接口,和class命名的规则相同。abstract关键字并不是必须的,如果定义时不给出系统也会自动加上。当一个类实现一个接口时,需要使用implements关键字,后面跟上接口名,位置是和extends关键字继承父类一样的。接口的定义和实现。
接口中的方法是抽象的不能直接使用,只有在实现接口的类中,重写方法后才能被使用。
在实现接口时,一个类可以同时实现多个接口,当一个类实现多个接口时,需要重写所有接口中的所有方法。实现的接口之间使用逗号隔开。
三、抽象类和接口的区别
接口是抽象类的特殊版本。接口里的方法必须都为抽象的,而抽象类里可以为抽象的也可以有其他形式的存在。
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShanHai山海

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值