java抽象类与接口区别_Java中抽象类与接口的区别

d3e3eef2f840225f26988f550e638391.png

最佳抽象游戏连线1.01 安卓版

类型:休闲益智大小:18.6M语言:英文 评分:5.0

标签:

立即下载

接口和抽象类有好多相同点和类似点,很多人有过这样的疑问:为什么有的地方必须使用接口而不是抽象类,而在另一些地方,又必须使用抽象类而不是接口呢?或者说,在考虑Java类的一般化问题时,很多人会在接口和抽象类之间犹豫不决,甚至随便选择一种。

理解抽象类

abstract class和interface在Java语言中都是用来进行抽象类(本文 中的抽象类并非从abstract class翻译而来,它表示的是一个抽象体,而abstract class为Java语言中用于定义抽象类的一种方法, 请读者注意区分)定义的,那么什么是抽象类,使用抽象类能为我们带来什么好处呢?

抽象类:

抽象类是一种特殊的基类,里面除包含一些基本的属性和方法之外,还能包含一些只声明但没有实现的方法,用abstract去声明

例如:

4723a45586491cdcffa40c2898e239c6.png

接口:接口是一种更加抽象的类型,里面声明的方法全部公开给实现者去实现,并不关心具体细节 关键字是interface

例如:

0515ac7bd2f2b50d7dbf45a824d5c111.png

综上所看 可以看出抽象类和接口的主要区别有:

1.抽象类可以有自己的方法,但接口的方法只有声明

2.抽象类的抽象方法使用abstract声明

其它需要注意的有:

1.一个类只能继承一个实现类,但是可以实现多个接口

2.当一个抽象类和一个接口有公共的属性时,如果一个类同时实现这个抽象类和接口 则编译不会通过。

接口:

一种高度抽象的“抽象类”,使用interface关键字声明

下面定义一个Usb接口:

public interface Usb {

public void start();

public void end();

}

接口中没有构造方法

接口和抽象类一样,不能用于实例化

接口中不能定义变量,方法不准有方法体,方法默认为public,接口中方法和抽象方法不准有private修饰

只能继承接口,支持多继承(接口之间用逗号隔开)

类实现接口,使用关键字implements:

1.必须实现这个接口的所有方法,除非实现类是抽象类

2.一个类可以实现多个接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值