java面试题第七天

一、java面试题第七天

1.方法重载和重写的区别?

方法重载:在同一个类中,不同的方法拥有同样的方法名,不一样的参数列表,这就叫做方法重载

**方法的重写:**描述的是父类和子类之间的。当父类的功能无法满足子类的需求,可以在子类对方法进行重写。方法重写时, 方法名与形参列表必须一致。

2.接口与抽象类区别?

语法层面上的区别

  • 抽象类可以有方法实现,而接口的方法中只能是抽象方法(Java 8 之后接口方法可以有默认实现);
  • 抽象类中的成员变量可以是各种类型的,接口中的成员变量只能是public static final类型;
  • 接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法(Java 8之后接口可以有静态方法);
  • 一个类只能继承一个抽象类,而一个类却可以实现多个接口。

2、设计层面上的区别

  • 抽象层次不同。抽象类是对整个类整体进行抽象,包括属性、行为,但是接口只是对类行为进行抽象。继承抽象类是一种"是不是"的关系,而接口实现则是 "有没有"的关系。如果一个类继承了某个抽象类,则子类必定是抽象类的种类,而接口实现则是具备不具备的关系,比如鸟是否能飞。
  • 继承抽象类的是具有相似特点的类,而实现接口的却可以不同的类

3.常见的Exception有哪些?

常见的运行异常:

  1. ClassCastException // 类型转换异常
  2. IndexOutOfBoundsException //数组越界异常
  3. NullPointerException //空指针
  4. ArrayStoreException //数组存储异常
  5. NumberFormatException //数字格式化异常
  6. ArithmeticException //数学运算异常
  7. Out Of Memory //内存溢出

常见的检查异常

  1. NoSuchFieldException //反射异常,没有对应的字段
  2. ClassNotFoundException //类没有找到异常
  3. IllegalAccessException //安全权限异常,可能是反射时调用了private方法

4、Error和Exception的区别?

Error : 中文意思就是错误,jvm 无法解决的问题,常见栈溢出,以及oom异常等。

Exception: 程序员编写代码中出现问题的代码,我们可以通过try catch 结构进行捕获。

5.运行时异常和非运行时异常(checked)的区别?

非检查异常包括运行异常(RuntimeException)和错误类(Error),其他所有异常称为检查异常

1.运行异常(RuntimeException)和错误(Error)类,都是 程序运行时发生的,是不需要捕获的即不需要(try-catch)结构或者抛出(throws)

2.检查异常(checked Exception) 在编写代码的时候,不需要捕获或者抛出的异常

相关推荐
ZC跨境爬虫13 分钟前
跟着 MDN 学 HTML day_52:(深入 XPathExpression 接口)
开发语言·前端·javascript·ui·html·音视频
不会写DN25 分钟前
通过白名单解决 pnpm i 报错 Ignored build scripts
javascript·面试·npm
yuanpan29 分钟前
Python + Selenium 浏览器自动化测试与网页自动登录
开发语言·python·selenium
Wy_编程31 分钟前
Go语言中的指针
开发语言·后端·golang
沪漂阿龙38 分钟前
字节跳动大模型面试题深度拆解:项目深挖、SFT 与 RLHF、Claude Code、记忆机制、并发锁与手撕题全攻略
人工智能·面试
不想写代码的星星44 分钟前
C++协程从入门到放弃?不,是从入门到手搓调度器
开发语言·c++
redaijufeng1 小时前
C++构造函数详解:从基础原理到实际应用
java·jvm·c++
lolo大魔王1 小时前
Go语言数据库操作之GORM框架从入门到生产实战(完整版)
开发语言·数据库·golang
yuzhiboyouye1 小时前
VO一般java后端怎么转换成前端想要的数据
java·前端·状态模式
一 乐1 小时前
学院教学工作量统计|基于java+ vue学院教学工作量统计管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·学院教学工作量统计系统