java的抽象类和接口

抽象类:

用abstract修饰,抽象类的子类权限修饰符必须大于父类的权限修饰符
在这里插入图片描述
抽象类的特点:

1、抽象类是被abstract修饰的类,类中可以有抽象方法
2、抽象类有一般函数和构造函数,但是构造函数不能用于抽象类的实例化
3、抽象类可以被抽象类继承,也可以被一般类继承,如果被一般类继承,必须重写抽象类中所有的抽象方法。

补充:

1、抽象类中可以有抽象方法,抽象方法必须放在抽象类中
2、继承会使类与类之间的耦合度过高,不符合开发原则
3、抽象类中的函数没有方法体,由子类去重写该方法,减少代码的书写
4、被abstract修饰的函数叫抽象函数,该方法没有方法体
5、被abstract修饰的类叫抽象类,该类中可以有抽象方法

接口:

接口真正解决了继承耦合度过高的问题
接口是一种引用型的格式,被interface定义
接口中所有的方法默认是public abstract

接口的特点:

1、接口是被interface定义的,在接口中只能有抽象方法
2、接口中不能定义属性,可以定义常量
3、接口中没有构造方法,不能对接口进行实例化
4、接口可以被接口多继承
5、一般类可以继承一个类,在实现多个接口,一般类需要重写接口中的所有抽象方法

补充:

1、接口是对外暴露的原则
2、接口是程序的功能扩展
3、接口的出现降低耦合度
4、接口可以用来多实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值