1.Java是一门编译语言,是由Java编译工具把.java文件编译为.class文件,再由Java虚拟机执行。与JavaScript、Python等解释性语言天生不一样。
2.除了继承、多态、封装三大面向对象特性之外,还有抽象
3.&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)
4.final, finally, finalize的区别
final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。
finally是异常处理语句结构的一部分,表示总是执行。
finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。
5.List以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存key-value值.
6.继承自InputStream/OutputStream的流都是用于向程序中输入/输出数据,且数据的单位都是字节(byte=8bit)。
7.继承自Reader/Writer的流都是用于向程序中输入/输出数据,且数据的单位都是字符(2byte=16bit)。
8.Java的异常(包括Exception和Error)分为:
- 可查的异常(checked exceptions)
除了RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常。这种异常的特点是Java编译器会检查它,也就是说,当程序中可能出现这类异常,要么用try-catch语句捕获它,要么用throws子句声明抛出它,否则编译不会通过。
- 不可查的异常(unchecked exceptions)
包括运行时异常(RuntimeException与其子类)和错误(Error)。
9.Java对象的初始化-----父静态->子静态->父变量->父初始化区->父构造-->子变量->子初始化区->子构造