面试题(全)

Posted lzhbkjava

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题(全)相关的知识,希望对你有一定的参考价值。

基础
1.简述 JDK 跟 JRE 的区别
Jdk 是 java 开发人员在开发过程使用的软件开发包,他提供了 java 的开发环境和运行环境 JRE 是 Java Runtime Enviroment 是指 Java 的运行环境 如果你只想跑 java 程序,只要安装 jre 就够了,如果要从事开发就得安装 jdk。

2.简述 path 跟 classpath 的区别
Path 是系统变量,跟 java 无关,里面存放的是各种可执行的应用程序的路径 Classpath 是给 java 使用的,从字面上来理解,就是类的路径,主要是模仿 path,将类文件 的路径配置到 classpath 中实现在系统的任何位置可以对类文件进行编译和执行
3.Java 的关键字中有没有 goto
Goto 是 java 中的保留字不是关键字的一员
4.”static”关键字是什么意思?Java 中是否可以覆盖(override)
一个 private 或者是 static 的方法?
“static”关键字表明一个成员变量或者是成员方法可以在没有所属的类的实例变量的情况下 被访问。 Java 中 static 方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而 static 方法是编 译时静态绑定的。static 方法跟类的任何实例都不相关,所以概念上不适用。

5.Java 中的方法覆盖(Overriding)和方法重载(Overloading)是
什么意思?
Java 中的方法重载发生在同一个类里面两个或者是多个方法的方法名相同但是参数不同的 情况。与此相对,方法覆盖是说子类重新定义了父类的方法。方法覆盖必须有相同的方法名, 参数列表和返回类型。覆盖者可能不会限制它所覆盖的方法的访问。
6.Overload 和 Override 的区别?
方法的重写 Overriding 和重载 Overloading 是 Java 多态性的不同表现。重写 Overriding 是 父类与子类之间多态性的一种表现,重载 Overloading 是一个类中多态性的一种表现。如果 在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子 类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。 如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则 称为方法的重载(Overloading)。
7.接口和抽象类的区别是什么?
Java 提供和支持创建抽象类和接口。它们的实现有共同点,不同点在于: 接口中所有的方法隐含的都是抽象的。而抽象类则可以同时包含抽象和非抽象的方法。 类可以实现很多个接口,但是只能继承一个抽象类 类可以不实现抽象类和接口声明的所有方法,当然,在这种情况下,类也必须得声明成是抽 象的。 抽象类可以在不提供接口方法实现的情况下实现接口。 Java 接口中声明的变量默认都是 final 的。抽象类可以包含非 final 的变量。 Java 接口中的成员函数默认是 public 的。抽象类的成员函数可以是 private,protected 或者 是 public。 接口是绝对抽象的,不可以被实例化。抽象类也不可以被实例化,但是,如果它包含 main 方法的话是可以被调用的。 也可以参考 JDK8 中抽象类和接口的区别。

8.接口是否可继承接口? 抽象类是否可实现(implements)接
口? 抽象类是否可继承实体类(concrete class)?
接口可以继承接口。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提 是实体类必须有明确的构造函数。
9.Java 的基本数据类型跟引用数据类型分别有哪些?
Java 的基本数据类型有 8 个分别是 整数型 byte shrot int long char 浮点型 float double 字符型 char 布尔型 bollean
10.char 型变量中能不能存贮一个中文汉字? 为什么?
char 型变量是用来存储 Unicode 编码的字符的,unicode 编码字符集中包含了汉字,所以, char 型变量中当然可以存储汉字啦。

11.简述&和&&的区别
&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都 为 true 时,整个运算结果才为 true,否则,只要有一方为 false,则结果为 false。 &&还具有短路的功能,即如果第一个表达式为 false,则不再计算第二个表达式 &还可以用作位运算符
12.Java 中垃圾回收有什么目的?什么时候进行垃圾回收?
垃圾回收的目的是识别并且丢弃应用不再使用的对象来释放和重用资源。
13.如果对象的引用被置为 null,垃圾收集器是否会立即释放
对象占用的内存?
不会,在下一个垃圾回收周期中,这个对象将是可被回收的。

 

以上是关于面试题(全)的主要内容,如果未能解决你的问题,请参考以下文章

《Java面试全解析》1000道面试题大全详解(转)

《Java面试全解析》1000道面试题大全详解(转)

《Java面试全解析》1000道面试题大全详解(转)

《Java面试全解析》1000道面试题大全详解(转)

《Java面试全解析》1000道面试题大全详解(转)

面试题—有重复序列全排列问题