由于一直都在面试找工作,所以在面试的过程中,遇到的公司不同,所做的要求也都不一样,技术面问到的问题也都不尽一致。所以在此记录一下每一次面试所会遇到的问题,方便自己总结经验。
JAVA的八大基础类型
种类
类型
整型
byte、short、int、long
浮点型
float、double
逻辑型
boolean
字符型
char
其中它们按照字节位数来划分
位数
类型
8位
byte
16位
short、char
32位
int、float
64位
long、double
其他
boolean(true、false)
面向对象的三大特征
特征:多态、封装和继承
其中在多次面试中都有问到多态的例子
多态性:允许不同对象对于同一个消息做出不同的行为方式
多态的实现方式有:接口的实现、继承父类对方法重写、同一方法内的方法重载
String、StringBuffer和StringBuilder的区别
这也是一个经常会被问到的问题,对于三者的比较一直都会在面试中出现,现在对他们的区别做一个简单的总结
int和Integer的区别
JAVA为了编程的方便,引入基本的数据类型,如以上所说的八大基本类型,同时为了能够把这些基本的数据类型当作是对象来使用,同时也为每一个基本数据类型封包装了包装类型。
基本数据类型:byte、short、int、long、float、double、char、boolean
相对应的包装类型:Byte、Short、Integer、Long、Float、Double、Charater
为什么引入包装类型:在进行类型转换的时候要用到对象引用方法(下次更新添加各种类型相互之间的转换)
给出两个Integer对象的值,比较他们返回的结果是否相等,例如以下代码。
public class Test {
public static void main(String[] args) {
Integer f1 = 100, f2 = 100, f3 = 150, f4 = 150;
System.out.println(f1 == f2);
System.out.println(f3 == f4);
}
}
以上输出的结果为第一个为true,第二个为false。由于int整型的取值范围为-128到127之间,所以在这之间的数值是直接通过引用Integer取值池中的值,而超过这个范围的会new一个Integer对象,而两个值虽然一样,但是他们的地址不一样,所以返回结果为false。
=和equals的区别
比较类型和比较值是否相同,无非就是比较两种:基本数据的比较和引用对象的比较。
post和get的区别
区别是面试的时候最经常遇到的问题了,一下子就能看出一个人的基本