java基础
接口和抽象类的区别
1 接口里只能包含抽象方法,静态方法和默认方法,不能为普通方法提供方法实现,抽象类则完全可以包含普通方法。
2 接口里只能定义静态常量,不能定义普通成员变量,抽象类里则既可以定义普通成员变量,也可以定义静态常量。
3 接口不能包含构造器,抽象类可以包含构造器。
4 接口中声明的变量默认都是final的。抽象类可以包含非final的变量。
5 接口中的成员函数默认是public的。抽象类的成员函数可以是private,protected或者是public。
抽象方法:
特征:没有方法体,没有大括号,已分号结尾。只需声明不需实现。
Public abstract void run();
抽象方法必须以分号结尾,且不带花括号。
抽象方法只提供方法的头部,不提供实现的部分。
抽象方法只能放在抽象类中。
抽象方法不能用private修饰。
抽象类必须被继承,抽象方法必须被重写。
构造器(constructor)是否可被重写(override)?
答:构造器不能被继承,因此不能被重写,但可以被重载。
final
用final修饰的类是不允许被继承的
final修饰的方法是可以重载,但是在子类中不可以被重写。
Error、Exception和RuntimeException的区别,作用又是什么?
Error和Exception都是Throwable的子类,RuntimeException是Exception的子类。
Error用于指示合理应用程序不应该试图捕获的错误。
Exception指出合理的应用程序需要捕获的条件。分为已检查异常和未检查异常。
RuntimeException是未检查异常,不需要try catch或在方法上声明,主要子类:NullPointer、Arithmatic、ArrayIndexOutOfBounds、ClassCast。
switch语句不支持的数据类型?
long类型的数据和float类型的数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)