Java基础篇-抽象类和接口

一、抽象类

(一)什么是抽象类?

包含抽象方法的类称为抽象类,但并不意味着抽象类中只有抽象方法
它和普通类一样,可以拥有成员变量和普通的成员方法。

(二)抽象类和普通类的主要区别

1.抽象方法必须为public或protected,原因:若为private,则该方法不能被子类继承,子类便不能重写该方法。
2.抽象类不能用来创建对象。
3.一个类若继承于一个抽象类,则需要重写父类(抽象类)的抽象方法,否则该类也须定义为abstract类。

(三)抽象类定义抽象方法的好处

1.约束子类方法名的统一。
2.阅读中大型项目时可先查看抽象类和接口,可快速了解项目大纲。
3.相近项目中可以共用。

二、接口

(一)什么是接口?

接口是具有一定功能和约束的特殊类,接口为其他具体类提供了一些不是类本身的特定的功能。接口是一种更加抽象的抽象类,一般情况下,在接口中不定义变量。
接口中可以含有变量和方法:
1.变量只能是public static final变量,即常量。
2.方法只能是public abstract方法,默认的。若为protected或private方法,则编译报错。即方法不能具体化,只能是抽象方法。

(二)接口的实现

一个类可遵循实现多个接口。若一个普通类遵循了一个或多个接口,就必须实现接口中的所有方法。若是抽象类遵循了接口,可实现也可不实现接口的方法。
接口也可以继承(一个或多个)接口。

(三)接口与抽象类的区别

1.抽象类中可以含有非抽象方法;接口只有抽象方法。
2.抽象类中的成员变量类型可以是各种类型;接口只能定义常量。
3.抽象类可以含有静态代码块和静态方法;接口不能含有静态代码块和静态方法。
4.一个类可以实现多个接口;一个类只能继承于一个抽象类。

(四)接口与抽象类的相同点

1.都不能被实例化。
2.都能被继承(或实现)。
3.被继承(或实现),子类(或实现类)都需要重写抽象方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值