聊一聊抽象类和接口

什么是抽象类
一个允许有抽象定义存在的类,可以像普通类一样有属性,成员方法,构造函数。
只有方法的声明,没有方法的实现。也可以有默认的方法实现。
怎样定义抽象类 访问修饰符 abstract class 类名{}
抽象方法的作用为了约束当前方法都具有某种行为


注意:
1.抽象类必须使用关键字声明。
2.抽象类不可以实例化,实例化的工作应该交由他的子类来完成,它只需要一个引用即可。不能new,只能被子类继承。
3.抽象的方法只能写在抽象类中。
4.如果在一个抽象类中定义了多个抽象方法,他的子类就必须重写父类未实现的方法,要么,让子类也成为一个抽象类,
5.抽象类中不一定都是抽象方法,也可以有普通方法和字段。
6.抽象方法都是不可以与private、static、final和native一起使用的,因为抽象方法都是要子类来实现的。
7.抽象类方法可以声明public prodected等权限。

接口
什么是接口
对于抽象类而言,更加的抽象,更加的纯粹。
接口的特点
1.接口中只能有抽象方法abstract和常量public static final (全局常量) 写不写都在呢。
2.接口中如果一个接口有子类,就叫做这个接口的实现类。
3.一个普通类若想实现一个接口,要么就必须实现该接口中的所有抽象方法,要么让实现类也成为一个抽象类,
4.一个抽象类可以实现一个接口,但是不能继承一个接口。
5.接口中的所有成员都是public权限
6接口是多实现
7.接口是不可以被实例化的,因为有抽象方法,需要被子类实现,子类必须全部覆盖接口中的抽象方法后,才可以实例化,否则子类也变成一个抽象类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值