Java中的抽象类和接口

本文详细介绍了抽象类和接口在概念上的区别,包括抽象类可以包含非抽象方法和构造器,而接口只能声明方法且不能有实现。此外,一个类可以实现多个接口但必须完全实现所有抽象方法,而子类继承抽象类则只需覆盖抽象方法。同时,接口的抽象程度高于抽象类,更适合用于定义行为规范,而抽象类则更适合于共享实现。

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

抽象类:

抽象类普通类
至少含有一个抽象方法含有抽象方法
含有构造方法(不能被实例化)

 含有构造方法(可以被实例化)

抽象方法不能为static、普通方法可以有方法是属于类的
修饰符:public、protect、defaultpublic、protect、deafult、private

接口:

1、只能声明方法,不能有任何方法体

2、方法修饰符默认为public abstract

3、没有构造方法

4、可以被多个类实现、一个类也可以实现多个接口

5、是一种集合:方法的集合

6、接口中的常量必须定义为public static finall

接口和抽象类的比较:

接口抽象类
抽象程度:接口>抽象类
只能含有方法的声明(默认修饰:public abstract)可以含有普通方法、也可含有抽象方法
一个类可以实现多个接口,并重写其方法继承后必须重写所有的抽象方法
没有构造方法含有构造方法
不能有静态的方法可以含有静态的方法
方法只能用public abstract修饰方法不能用private static修饰,属于类,不能实例化,所以不能是static,需要被实现,所以不饿能使用private

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值