当前位置: 首页 > news >正文

Java面试题(基础篇)③

目录

一,== 与 equals 的区别?

二,接口和抽象类的区别?

三,请说出几个常见的异常?

四,请问你对Java 反射有了解吗?

五,浅拷贝和深拷贝区别?


一,== 与 equals 的区别?

  1. ==是一个运算符,equals 是 Object 类的方法

  2. 用于基本类型的变量比较时: ==比较的是值是否相等,equals不能直接用于基本数据类型的比较,需要转换为其对应的包装类型。

  3. 用于引用类型的比较时。==和 equals 都是比较栈内存中的地址是否相等。但是通常会重写 equals 方法去实现对象内容的比较。

二,接口和抽象类的区别?

它们的共同点是:都不能实例化对象

基于JDK1.8之后

它们的不同点是:

  1. 抽象类一般用于抽取子类中的共同方法和属性,接口一般用于指定实现类的规范

  2. 抽象类可以有构造方法,作用是用给抽象父类中中的属性赋值;接口中不能有构造方法

  3. 接口中不能含有静态代码块,而抽象类可以有静态代码块

  4. 一个类只能继承一个抽象类,而一个类却可以实现多个接口。

三,请说出几个常见的异常?

Java中的异常分为运行时异常和编译时异常两大类:

  1. 运行时异常都是 RuntimeException 类及其子类异常,这类异常的特点是不强行要求程序员进行处理,常见的有

    NullPointerException 空指针异常,调用了未经初始化的对象或者是不存在的对象

    IndexOutOfBoundsException 数组角标越界异常,常见于操作数组对象时发生

    ClassCastException 数据类型转换异常

    NoSuchMethodException 方法不存在异常

  2. 非运行时异常,也叫编译异常(CheckedException),是 Exception 的子类但不是 RuntimeException的子类,类型上都属于及其子类

    它要求程序员在编写代码的过程中提供异常处理方案,否则编译不通过,常见的有:IOException和SQLException等

四,请问你对Java 反射有了解吗?

反射是指在运行状态中,对于任意一个类都能够知道这个类所有的属性和方法,并且可以调用它的任意一个方法它主要应用于大量的框架底层,比如 Spring/Spring Boot、MyBatis 等等

五,浅拷贝和深拷贝区别?

  • 浅拷贝被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。即对象的浅拷贝会对“主”对象进行拷贝,但不会复制主对象里面的对象。”里面的对象“会在原来的对象和它的副本之间共享。
  • 深拷贝深拷贝是一个整个独立的对象拷贝,深拷贝会拷贝所有的属性,并拷贝属性指向的动态分配的内存。当对象和它所引用的对象一起拷贝时即发生深拷贝。深拷贝相比于浅拷贝速度较慢并且花销较大。简而言之,深拷贝把要复制的对象所引用的对象都复制了一遍
http://www.lryc.cn/news/418479.html

相关文章:

  • Qt动态调用 - QMetaObject::invokeMethod
  • html+css+js网页设计 星享咖啡6个页面(带js) ui还原度90%
  • docker上传镜像至阿里云
  • POS刷卡开发源码之语音播报-CyberWinApp-SAAS 本地化及未来之窗行业应用跨平台架构
  • jupyter notebook魔法命令
  • Mysql事件
  • Unity Console 窗口输出对齐
  • leetcode198_打家劫舍
  • C# 串口通讯怎么防止数据丢失
  • 【机器学习】BP神经网络中的链式法则:解开智能背后的数学奥秘
  • MyBatis 基本操作 - 注解版
  • 专业比例阀放大器配套选型
  • Springboot 多数据源整合的三种方式
  • 【科研笔记】中国知网高级检索与专业检索针对同一检索内容返回的结果对比
  • C#-了解IOC控制反转及相关框架的使用
  • CSDN机器人与僵shi粉测试(真人看看)
  • 【C/C++ 多态中的虚函数的虚函数表】详细的了解一下吧(要先知道有虚函数表
  • 基于树莓派4B设计的智能家居控制系统(阿里云IOT)(203)
  • 太阳能光伏气象站的功能优势
  • LVS(Linux Virtual Server)负载均衡详解
  • C语言 | Leetcode C语言题解之第329题矩阵中的最长递增路径
  • rabbitmq学习记录
  • MySQL数据库基础:约束
  • Java设计模式和AOP编程
  • 【扒代码】data.py
  • 【时时三省】unity test 测试框架 介绍(适用于C语言进行测试的)
  • 那些你应该掌握的linux命令
  • 系统出现高CPU可能风险因素整理
  • 前端技术 -- 动画效果之GSAP作用与使用示例
  • C口一拖二数据线:解锁数字生活的便捷新篇章LDR6020