1. 什么是指针?Java支持指针吗?
– 指针是指操作某块内存地址的引用
-Java不支持使用指针,主要是为了避免指针滥用造成内存泄露及造成程序稳定性降低
2. Path 和 Classpath的区别是什么?
– Path和Classpath都是操作系统级的环境变量
– Path是告诉操作系统到哪里找到可执行文件的,Classpath是告诉操作系统到哪里找到.class文件的。
3. 需要在每一个Java Class里面都定义一个main方法吗?为什么?
– 不需要在每一个Class里面都定义一个main方法。
– 只有在所在Java类是一个Java应用的时候才需要定义main方法。
4. finally代码段的作用是什么?
Finally是总是保证被执行的,就算是有异常报出。
5. finally代码块在什么情况下不会被执行?
在以下情况下, Finally代码块不会被执行:
– 在执行Try和Catch代码的时候如果JVM退出,finally代码块不会被执行,通常是因为System.exit()被调用。
– 如果Try和catch代码执行的线程被阻断或杀掉,finally代码块也可能不会被执行,就算是应用还在运行。
– 如果finally代码块中报出异常且没有被处理,finally代码块中剩下的代码可能不会被执行。
6. Java应用中哪个包是默认被import的?
– java.lang package是被默认导入的,就算没有import声明。
7. 如果你不想你的Class被继承,你需要怎么做?
– 将你的Class声明为final。final的Class 不会被继承。但是抽象类不能被定义为final。
8. final, finally 和 finalize()的区别是什么?
final
– final是一个class、方法和变量的标示符。
– final类是不能被继承的,final方法是不能被重载的,final变量是不能被重新赋值的。
finally
– finally是一个处理异常捕获的功能代码。
– Finally是总是保证被执行的,就算是有异常报出。
finalize()
– finalize是一个Object类的方法。
– finalize方法在垃圾回收前被调用,是一个资源释放的最后机会。
9. 方法内部可以定义static变量吗?
static变量不能再方法内部定义,No, static variables can’t be declared inside a method otherwise the class will not compile.
10. 介绍一下Java里面的类型转换?
Java里面共有两种类型转换:
a.)数字类基本数据类型之间的转换
b.)对象引用之间的转换