Java--抽象类和接口的区别

本文详细介绍了Java中的接口和抽象类,包括它们的定义、关键字、继承方式、子类扩展、属性和方法控制、实现方式以及静态代码块的使用。接口作为行为的抽象,强调多继承,而抽象类则注重代码重用,支持单继承。两者在实际编程中各有其应用场景,理解它们的区别有助于更好地设计和组织代码。
摘要由CSDN通过智能技术生成

今天是22年最后一天了, 写篇博客记录一下吧, 这一年发生了很多事情, 也学到了很多知识, 后面要继续加油啊, 大家也要加油啊, 米娜桑. 

目录

概述

区别

1. 定义关键字不同

2. 继承或实现的关键字不同

3. 子类扩展的数量不同

4. 属性访问控制符不同

5. 方法控制符不同

6. 方法实现不同

7. 静态代码块使用不同


概述

接口和抽象类是 Java 面向对象设计的两个基础机制.

接口是对行为的抽象, 它是抽象方法的集合, 利用接口可以达到 API 定义和实现分离的目的. 接口不能实例化; 不能包含任何非常量成员, 任何 field 都是隐含着 public static final 的意义; 同时, 没有非静态方法实现, 也就是说要么是抽象方法, 要么是静态方法. Java 标准类库中, 定义了非常多的接口, 比如 java.util.List.

抽象类是不能实例化的类, abstract 关键字修饰 class, 其目的主要是代码重用. 除了不能实例化,  形式上和一般的 Java 类并没有太大区别, 可以有一个或者多个抽象方法, 也可以没有抽象方法. 抽象类大多用于抽取相关 Java 类的共用方法实现或者是共同成员变量, 然后通过继承的方式达到代码复用的目的. Java 标准库中, 比如 collection 框架, 很多通用部分就被抽取成为抽象类, 例如 java.util.AbstractList.

Java 类实现 interface 使用 implements 关键字, 继承 abstract class 则是使 用 extends 关键词,我们可以参考 Java 标准库中的 ArrayList.

pub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

即将秃头的菜鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值