interface和abstract class的区别

interface和abstract class的区别

首先我们得知道interface和abstract class是什么?

interface 接口(在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。)

abstract class抽象类(指的是用关键字abstract修饰的类,叫做抽象类,是不允许实例化的类,不能直接创建对象,必须要通过子类创建才能使用abstract类的方法。)

	在了解了interface和abstract class的含义之后,现在我们就要区分它们之间的一个相同点和不同点了。
	
	相同点:
		①:interface和abstract class都不可以被实例化。
		②:interface的实现类和abstract class的子类只有全部实现了接口或者抽象类中的方法后才可以被实例化。

	不同点:
		①:一个类只能拥有一个abstract class,但是可以拥有多个interface。
		②:interface和abstract class各自的一个访问权限的不同,abstract class中的抽象方法的访问权限可以是 public、protected 和默认类型,interface中的抽象方法只能是 public 类型的,并且默认即为 public、abstract 类型。
		③:各自强调的一个作用不同,interface强调的是一个功能,abstract class强调的是一个关系。
		④:interface只能定义抽象方法,而不能被实现。abstract class既可以定义也可以实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值