整理一些java面试题供自己复习
一、基本常识
Q:Java语言有哪些特点?
A:Java语言共有十大特点,分别为:简单性、面向对象、分布性、编译和解释性、稳健性、安全性、可移植性、高性能、多线索性、动态性。
参考:https://zhuanlan.zhihu.com/p/109053181
Q:JDK JRE JVM三者有什么区别与联系?
A:
- JDK 用于开发,JRE 用于运行java程序 ;如果只是运行Java程序,可以只安装JRE,无序安装JDK。
- JDk包含JRE,JDK和 JRE 中都包含 JVM。
- JVM 是 java 编程语言的核心并且具有平台独立性。
Q:Java如何实现跨平台?
A:通过java虚拟机(JVM)。JVM会将编译后的.class文件(16进制的文件流)翻译成机器认识的语言(二进制的机械码)。
Q:8大基本数据类型有哪些?
A:
Q:成员变量与局部变量的区别?
A:
二、基本算法
三、面向对象
Q:面向对象具有哪些特征,分别是什么?
A:封装、继承、多态。
Q:方法的重载有重写有什么区别?与返回值是否有关?
A:
重载(Overload):方法签名相同,参数列表不同(与返回值无关)。
重写/覆盖(Override):同名同参同返回,前面的权限修饰符不能比父类的更封闭,抛出的异常不能更宽泛。
Q:构造方法有什么特点,是否能被重写?
A:构造方法的名字必须与类名相同,且没有任何返回类型。不可重写。
构造方法名 = 类名,子类名 ≠ 父类名,又子类重写必须 = 父类方法重名。
相当于,父类名 = 父构造方法 = 子类名 = 子构造方法。
前后矛盾,故不可重写。