Java抽象类和接口的区别
java抽象类:
- 1,抽象类中应至少有一个抽象方法(只有定义没有实现,且用abstract标记)。
- 2,抽象类中可以有具体方法。
- 3,抽象类不可实例化。
- 4,抽象类的子类如果有未实现的方法,则要标记未抽象类。
- 5,抽象类可以创建一个抽象类的变量,只能引用非抽象子类的对象。
接口
-
1,接口绝不会有实例字段,可以定义常量,且总是被(public static final)进行修饰。
-
2,接口中所有方法自动是Public方法。(在定义接口时,可以不用写明public)。
-
3,使用instanceof可以检查一个对象是否实现了某个特定接口。
if(子类 instanceof 接口名){}
-
4,接口中可以有静态方法,java9之后接口可以有私方法,这些方法有实例方法或者是静态方法,这些方法只能在接口中调用,使用非常有限。
-
5,接口可以提供一个默认方法,使用default修饰标记该方法。
public interface Comparable<T> { default int compareTo(T other){ return 0; } }
-
6,当超类和接口中的方法冲突时,只会考虑超类中的方法,(类优先原则)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理