锁屏面试题百日百刷,每个工作日保持更新面试题。请看到最初就能获取你想要的, 接下来的是今日的面试题:
1.Java 中的几种根本数据类型是什么?对应的包装类型是什么?各自占用多少字节呢?**
Java 中有 8 种根本数据类型,别离为:
- 6 种数字类型:byte、short、int、long、float、double
- 1 种字符类型:char
- 1 中布尔型:boolean。
这八种根本类型都有对应的包装类别离为:Byte、Short、Integer、Long、Float、Double、Character、Boolean
对于 boolean,官网文档未明确定义,它依赖于 JVM 厂商的具体实现。逻辑上了解是占用 1 位,然而理论中会思考计算机高效存储因素。
2.什么事主动装箱与拆箱**
装箱:将根本类型用它们对应的援用类型包装起来;
拆箱:将包装类型转换为根本数据类型;
3.为什么 Java 中只有值传递?**
首先回顾一下在程序设计语言中无关将参数传递给办法(或函数)的一些专业术语。按值调用 (call byvalue) 示意办法接管的是调用者提供的值,而按援用调用(call by reference)示意办法接管的是调用者提供的变量地址。一个办法能够批改传递援用所对应的变量值,而不能批改传递值调用所对应的变量值。它用来形容各种程序设计语言(不只是 Java)中办法参数传递形式。
Java 程序设计语言总是采纳按值调用。也就是说,办法失去的是所有参数值的一个拷贝,也就是说,办法不能批改传递给它的任何参数变量的内容。
4.重载和重写的区别**
重载就是同样的一个办法可能依据输出数据的不同,做出不同的解决
重写就是当子类继承自父类的雷同办法,输出数据一样,但要做出有别于父类的响应时,你就要笼罩父类办法
5.什么是深拷贝和浅拷贝?**
1. 浅拷贝:对根本数据类型进行值传递,对援用数据类型进行援用传递般的拷贝,此为浅拷贝。
2. 深拷贝:对根本数据类型进行值传递,对援用数据类型,创立一个新的对象,并复制其内容,此为深拷贝。
6.面向对象和面向过程的区别**
面向过程:面向过程性能比面向对象高。因为类调用时须要实例化,开销比拟大,比拟耗费资源,所以当性能是最重要的考量因素的时候,比方单片机、嵌入式开发、Linux/Unix 等个别采纳面向过程开发。然而,面向过程没有面向对象易保护、易复用、易扩大。
面向对象:面向对象易保护、易复用、易扩大。因为面向对象有封装、继承、多态性的个性,所以能够设计出低耦合的零碎,使零碎更加灵便、更加易于保护。然而,面向对象性能比面向过程低
全部内容在 git 上, 理解更多请点我头像或到我的主页去取得,谢谢**