java基础面试题(二)

110 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第2天,点击查看活动详情。 1.&和&&区别?
&&也被称为短路与,当表达式进行判断时,如果第一个结果为false,将不会判断第二个值,所以当第二个表达式报错时,程序会继续执行,不会终止 &表示的是与,需要将表达式都判断完整才能出结果,所以当第二个表达式报错时,程序会终止,不会继续执行。

2.抽象类和接口的区别?
抽象类是一个类,只能单一继承,并且抽象类不能实例化,需要被继承,但抽象类中可以声明普通的方法完成功能,并且可以声明普通的成员变量 接口中只能声明方法,无法实现,需要创建一个类去实现接口,如果接口没有被实现,只是继承,那么将无法完成方法所对应的功能,而且接口可以多继承

3.抽象类和普通类的区别?
抽象类:是被abstract修饰的类,并且可以创建抽象方法,而且不能实例化 普通的类中不能创建抽象方法,可以实例化

4.JVM、JRE、JDK之间的关系?
JDK:编程工具 JRE:标准类库,运行环境 JVM:java虚拟机 JDK包含JRE,JRE包含JVM

5.LinkedList和ArrayList区别?
ArrayList和LinkedList都是List集合的实现类,其中ArrayList是动态数组,底层就是数组组成,当经常随机取值时速度较快,会使用ArrayList,LinkedList是链表式结构,当集合中经常首尾添加或删除时,处理效率快,会使用

6.请说出修饰权限关键字和他的范围?
Public:本类、本包、继承关系的包、非继承关系 Protected:本类、本包、继承关系的包 Default:本类、本包 Private:本类

7.请简要说明成员变量、局部变量分别是什么?
成员变量是直接声明在类中的,也称为属性 局部变量是直接声明在方法中的

8.Collection和Collections的区别? Collection:Collection是集合的父类接口,下面有List和Set等集合 Collections:工具类,提供多个方法,比如排序方法