抽象类和接口
java抽象类和接口
抽象类
抽象类:用abstract修饰的类叫做抽象类。
在讲抽象类之前有必要强调一下abstract修饰符:
abstract修饰的类为抽象类,此类不能有对象,(无法对此类进行实例化,说白了就是不能new);
abstract修饰的方法为抽象方法,此方法不能有方法体(就是什么内容不能有);
关于抽象类的使用特点:
抽象类不能有对象,(不能用new此关键字来创建抽象类的对象);
有抽象方法的类一定是抽象类,但是抽象类中不一定有抽象方法;可以有0到n个抽象方法,以及0到n具体方法。
抽象类中的抽象方法必须在子类中被重写。抽象方法生来就是要被重写的,而且是必须重写。
抽象类和普通类一样,各种形式的成员变量都可以声明,也需要构造方法。
接口
接口就是一个规范和抽象类比较相似。它只管做什么,不管怎么做。通俗的讲,接口就是某个事物对外提供的一些功能的声明,其定义和类比较相似,只不过是通过interface关键字来完成。
比抽象类更加抽象的是接口,在接口中所有的方法都是抽象的。
其中重要的几个知识点:
在接口中成员变量都静态成员变量,即省略了public static final修 饰符。
接口中的所有方法默认为抽象方法,即省略了public关键字。
声明接口使用interface关键字,interface前面的修饰符是public或省略。
某个类实现接口时,要在声明时使用implements关键字,当实现多个接口之间用逗号(,)分隔。
实现 接口时要实现接口中声明的所有原有的抽象方法。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术