抽象类和接口

本文详细介绍了抽象类和接口在Java中的概念和使用,包括抽象类的特性(如不能实例化,抽象方法等)以及接口的约束作用(如表示能力,多继承等)。讨论了抽象类和接口在代码组织、重用和模块划分中的差异,强调了抽象类用于同类事物抽象,接口用于不同类事物间的能力约束。同时,解释了接口间的继承关系和JDK1.8后接口的新特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有些类创建爱你对象没有意义,我们把这个定义为抽象类

使用abstract修饰类变成抽象类

抽象类不能被实例化只能被继承

抽象类的构造方法不能直接使用只能被紫烈调用

抽象方法没有方法体,需要使用分号表示声明结束

有抽象方法的类一定是抽象类,抽象类可以没有抽象方法

子类必须重写父类的方法除非子类也是抽象类

抽象类有构造方法,但是不能创建对象

final修饰的方法可以被继承,不能被重写

abstract修饰的方法必须被重写

final修饰的类不能被继承,abstract修饰的类必须必继承

final类中不能有abstract方法,abstract类中可以有final方法

接口

接口表示一个一种约束或者能力

对外接口一一致接口实现了多继承降低了代码之间的耦合

接口不能创建对象,没有构造方法,一般是抽象方法

接口中的所有属性都是静态常量属性public staticfinal

接口中的方法没有声明时默认时publicstaticfinal

接口和类时平级关系

接口和类的关系

类实现接口

如果一个类继承的父类也实现接口,声明类时,必须先继承再实现

普通接口:在接口中可以声明抽象方法,和静态常量,

常量群接口:在接口中只声明一组静态常量属性

标志性接口:在接口中没有抽象方法,没有静态常量,作用为了标记某个类具有的功能

接口与接口的关系

继承关系,使用extends实现接口与接口的继承关系

父类接口中的所有成员都会被子接口继承子接口不需要实现任何功能

接口可以多继承

jdk1.8之后接口中使用static关键字修饰的方法有方法体,静态方法需要方法体,使用default关键字修饰的方法有方法体

接口和抽象类的区别

接口interface抽象类abstract

抽象类中有没有抽象方法都可以

接口能包含抽象方法和静态常量

抽象类和几口都不能被实现

抽象类有构造方法,接口没有构造方法

抽象类一般用来表示同类事物,接口可以表示不同类的事物

抽象类可以实现代码重用,可以约束子类功能,接口就是约束实现类的功能降低代码之间的耦合

程序或模块内部使用抽象类

程序架构或模块间用接口

类实现对象没有意义,用抽象类

抽象类不能被实例化

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值