JavaSE整理面试题 不定时更新

1.Java中有几种基本数据类型?8种

https://blog.****.net/Sindyue/article/details/88036054
JavaSE整理面试题 不定时更新

2.面向对象。

思想 https://blog.****.net/zzy0919sun/article/details/81171006
特征 https://blog.****.net/ruglcc/article/details/7604047
多态 https://blog.****.net/zhouym_/article/details/89421577
封装 https://blog.****.net/qq_37872792/article/details/83448479
相对于面向过程实现功能时,想实现功能的一步一步的过程。面向对象先思考需要那些对象。
这些对象的关系关联,继承,聚合,实现,多态。而分析这些关系就有了4大特性:封装,抽象,多态,继承。
封装:一个类有动态属性-方法,和静态属性-字段。将字段私有化,提供公共方法设置
和访问字段。即将对象封装成一个高度自治和相对封闭的个体。
抽象:抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征。如统计成绩,之抽象学生的班级,学号,姓名,分数属性。而无视其他如体重,年龄…属性。所以在抽象时,抽象的角度取决于分析问题的目的。
多态:同一个方法在不同的对象中体现出来不同的状态。如什么意思?小意思,意思意思。
这个意思在不同语境下的不同表现。在开发中的面向接口编程就是多态化的表现。
继承:继承一个对象的所有属性,并在此基础上添加属性。

3.包装类型

https://blog.****.net/qq_34820803/article/details/87938182
基础类型不具备面向对象的特征,所以由来一一对应的对象-包装类型。
包装类型和基础类型的转化是在编译时自动装箱Integer .valueOf和拆箱intValue()。
包装类型是引用对象,需要new在堆中,初始值为null。它们的存放地址也不相同,基础类型存在栈中是值传递,而包装类型存在堆中是引用传递。

4.“==”和equals

比较基础类型时比较的时值,比较引用类型时比较的是引用地址。
equals其实和==相同,但它是顶级父类的方法,常用的引用类型重写了equals方法。

5. String和StringBuilder StringBuffer的区别?

string是一个不可变的char数组,又叫字符串常量。任何改变都是创建了一个新的字符常量。需要操作大量的字符串时损耗内存性能所以我们用StringBuilder StringBuffer 字符串变量。
StringBuffer:线程安全 StringBuilder:线程不安全
执行速度:StringBuilder > StringBuffer > String
用途:
如果要操作少量的数据用String
单线程操作字符串缓冲区下操作大量数据用StringBuilder
多线程操作字符串缓冲区下操作大量数据用StringBuffer

6.java中的集合。