Java 基础巩固:再谈抽象类和接口

本文深入探讨了抽象类和接口的概念及其在软件设计中的应用。从抽象方法、抽象类到接口,逐一剖析它们的特点与区别,并通过实例说明如何在实际项目中做出合理的选择。

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

文章出自:安卓进阶学习指南

主要贡献者:

读完本文你将了解:

背景介绍

这里写图片描述

大家好,这篇文章是 《安卓进阶技能树计划》 的第一部分 《Java 基础系列》 的第一篇。

距离上一篇预告 《Java 基础夯实系列上线预告》 过去了很久,之所以这么慢,是因为我们做这个活动,除了要保证知识点的全面、完整,还想要让每一篇文章都有自己的思考,尽可能的将知识点与实践结合,努力让读者读了有所收获。每位小伙伴都有工作在身,每个知识点都需要经过思考、学习、写作、提交、审核、修改、编辑、发布等多个过程,所以整体下来时间就会慢一些,这里先向各位道歉。

《Java 基础系列》初步整理大概有 12 篇,主要内容为。:

  1. 抽象类和接口
  2. 内部类
  3. 修饰符
  4. 装箱拆箱
  5. 注解
  6. 反射
  7. 泛型
  8. 异常
  9. 集合
  10. IO
  11. 字符串
  12. 其他

第一篇我们来聊聊抽象类和接口

“抽象类和接口”听起来是非常普遍的东西,有些朋友会觉得:这个太基础了吧,有啥好说的,你又来糊弄我。

这里写图片描述

事实上我在面试中不仅一次被问到相关的问题:

  • 抽象类和接口之间的区别?
  • 什么时候创建抽象类?什么时候创建接口?
  • 设计框架时该如何选择?

我比较喜欢这样的问题,答案可深可浅,体现了我们对日常工作的思考。

我们什么时候会创建一个抽象类?什么时候会创建一个接口呢?当转换一下思维,不仅仅为了完成功能,而是要保证整个项目架构的稳定灵活可扩展性,你会如何选择呢?

这篇文章我们努力回答这些问题,也希望你可以说出你的答案。

什么是抽象类和接口

抽象方法 即使用 abstract 关键字修饰,仅有声明没有方法体的方法。

public abstract void f();    //没有内容
 
  • 1

抽象类 即包含抽象方法的类。

如果一个类包含一个或者多个抽象方法,该类必须被限定为抽象的。抽象类可以不包含抽象方法。

public abstract class BaseActivity {
    private final String TAG = this.getClass().getSimpleName(); //抽象类可以有成员

    void log(String msg){   //抽象类可以有具体方法
        System.out.println(msg);
    }

//    abstract void initView();     //抽象类也可以没有抽象方法
}
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

接口 是抽象类的一种特殊形式,使用 interface 修饰。

public interface OnClickListener {
    void onClick(View v);
}


宁波哪家整形医院好 http://www.lyxcl.org/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值