以下是java中OOP部分的一些面试基础,整理了一部分!!!
1、什么是B/S架构?什么是C/S架构?
B/S :(Browser/Server),浏览器/服务器程序
C/S :(Client/Server),客户端/服务端,桌面应用程序
2、Java都有哪些开发平台?
JAVA SE : 主要用在客户端开发
JAVA EE : 主要用在web应用程序开发
JAVA ME : 主要用在嵌入式应用程序开发
3、什么是JDK?什么是JRE?
JDK :java development kit :java开发工具包,是开发人员所需要安装的环境
JRE :java runtime environment :java运行环境,java程序运行所需要安装的环境
4、Java语言有哪些特点?
--1. 简单易学、有丰富的类库
--2. 面向对象(Java重要的特性,让程序耦合度更低,内聚性更高)
--3. 可跨平台(JVM是Java跨平台使用的根本)
--4. 可靠安全
--5. 支持多线程
5、面向对象和面向过程的区别?
--1.面向过程:
-- 这是一种较早的编程思想,顾名思义就是该思想是站着过程的角度思考问题,强调的就是功能行为,功能的执行过程,即先后顺序,而每一个功能我们都使用函数(类似于方法)把这些步骤一步一步实现。使用的时候一次调用函数就可以了。
--2.面向对象:
-- 一种基于面向过程的新编程思想,顾名思义是就是该思想站在对象的角度思考问题,我们把多个功能合理放到不同对象里,强调的是具备某些功能的对象。
-- 具备某种功能的实体,称为对象。面向对象最小程序单元是:类,面向对象更加符合常规的思维方式,稳定性好,可重用性强,易于开发大型软件产品,有良好的的可维护性。
-- 在软件工程上,面向对象可以使工程更加模块化,实现更低的耦合和更高的内聚。
6、Java的数据结构有哪些?
线性表(ArrayList);链表(LinkedList);栈(Stack);
队列(Queue); 图(Map); 树(Tree)
7、拆装箱?
装箱就是自动将基本数据类型转换为包装器类型(int->Integer);调用方法:Integer的valueOf(int)方法。
拆箱就是自动将包装器类型转换为基本数据类型(Integer->int);调用方法Integer的intValue()方法。
8、访问修饰符 public,private,protected 以及默认时的区别?
这四个访问修饰符的权限顺序大小是:
public > protected > default > private
类的成员不写访问修饰符时默认为 default ,默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。受保护(protected)对子类相当于公开,对不是同 一包中的没有父子关系的类相当于私 有。Java 中,外部类的修饰符只能是 public 或默认,类的成员 (包括内部类)的 修饰符可以是以上四种。
9、形参与实参的区别?
实参(argument):
全称是"实际参数",是在调用时传递给函数的参数,实参可以是常量、变量、表达式、函数等无论实参是何种类型的量,在进行函数调用时,他们都必须具有确定的值,以便把这些值传递给形参。因此应预先赋值,输入等 办法 使实参获得确定值。
形参(parameter):
全称"形式参数",由于它不是实际存在变量,所以又称虚拟变量。是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数,在调用函数时,实参将赋值给形参。因而,必须注意实参的个数,类型应该与形参一一对应,并且实参必须要有确定的值。
形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用。 实参出现在主调函数中,进入被调函数后,实参变量也不能使用。
形参和实参的功能是作数据传送。发生函数调用时, 主调函数把实参的值传送给被调函数的形参从而实 现主调函数向被调函数的数据传送。
(1)形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
(2)实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都必 须具有确定的值, 以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。
(3)实参和形参在数量上,类型上,顺序上应严格一致, 否则会发生“类型不匹配”的错误。
(4)函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
(5)当形参和实参不是指针类型时,在该函数运行时,形参和实参是不同的变量,他们在内存中位于不同 的位置,形参将实参的内容复制一份,在该函数运行结束的时候形参被释放,而实参内容不会改变。
而如果函数的参数是指针类型变量,在调用该函数的过程中,传给函数的是实参的地址,在函数体内部使 用的也是实参的地址,即使用的就是实参本身。所以在函数体内部可以改变实参的值。
10、String类的常用方法有那些?
charAt():返回指定索引处的字符
indexOf():返回指定字符的索引
replace():字符串替换
trim():去除 字符串两端空白
split():按指定规则分割字符串,返回一个分割后的字符串数组
getBytes():返回字符串的byte类型数组
length():返回字符串长度
toLowerCase():将字符串转成小写字母
toUpperCase():将字符串 转成大写字符
substring():截取字符串
format():格式化字符串
equals():字符串比较