第十天

本文详细介绍了Java中的抽象类和接口的概念及其使用规则。抽象类可以通过abstract关键字标识,包含抽象方法,不允许实例化。子类继承抽象类后,必须实现所有抽象方法或自身也成为抽象类。接口则通过interface定义,全部方法默认为抽象,不允许有方法体。接口支持多继承,实现接口的类必须实现所有接口方法。抽象类和接口在多态场景中起到关键作用,它们的设计和选择取决于具体需求和设计模式的应用。
摘要由CSDN通过智能技术生成

抽象类

在这里插入图片描述

1.没有方法体的方法叫做抽象方法,被abstract关键字修饰
2.用abstract修饰的类成为抽象类,如果一个类中包含抽象方法,那么这个类必须被声明为抽象类
3.当子类继承了抽向父类以后,要么变成一个抽象子类,要么实现父类的所有抽象方法
4.抽象类不可以创建对象/实例化

特点

1.abstract 可以修饰方法或者类
2.被abstarct修饰的类叫做抽象类,被abstract修饰的方法叫做抽象方法
3.抽象类中可以没有抽象方法
4.如果类中有抽象方法,那么该类必须定义为一个抽象类
5.子类继承了抽象类以后,要么还是一个抽象类,要么就把父类的所有抽象方法都重写
6.多用于多态中
7.抽象类不可以被实例化

抽象类中构造函数的用法

1.抽象类中可以有构造方法
2.父类的构造方法优先于子类执行
3.抽象类不可以实例化
4.抽象类中存在构造方法不是为了创建本类对象时调用的,而是为了创建子类对象时调用

抽象类中的成员

1.抽象类中可以有成员变量

2.抽象类中可以有成员常量

3.抽象类中可以有普通方法
抽象类中可以都是普通方法

4.如果一个类中都是普通方法,为啥还要被声明抽象类?
原因:抽象类不可以创建对象,所以如果不想让外界创建本类的对象,就可以吧普通类生命成抽象类

5.抽象类中可以有抽象方法,一旦类中有抽象方法,这个类必须被声明成一个抽象类

注意

抽象方法要求子类继承后必须重写。

1.private:被私有化后,子类无法重写,与abstract相违背。
2.static:静态优先于对象存在,存在加载顺序问题。
3.final:被final修饰后,无法重写,与abstract相违背

接口

在这里插入图片描述
1.我们通过interface关键字来定义接口
2.接口中不可以有普通方法
3.接口中的方法都是抽象方法

5.接口不能创建对象

1.接口之间可以建立继承关系,而且还可以多继承,接口与接口之间用逗号隔开
2.接口和实现类之间可以建立实现关系,通过implement关键字来完成
注意,java类是单继承,而接口不限,写接口时,我们一般先继承再实现

实现类如果想和接口建立实现关系,通过implement关键字来建立

方案一:如果实现类与接口建立关系以后,可以选择不实现接口中的抽象方法,而是把自己变成一个抽象子类
方案二:实现类可以实现接口中的所有抽象方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值