问:String是基本数据类型吗?
答:不是,Java基本数据类型只有8种,byte、int、char、long、float、double、boolean和short
问:Collection和Collections的区别?
答:Collection是集合类的上级接口,他的子类有Set和List,而Collections是针对集合的一个帮助类,他提供的一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作、
问:String对象的intern()是指什么?
答:intern()方法会首先从常量池中查找是否存在该常量值,如果不存在则在常量池中创建,如果已经存在则直接返回
举例:
-
String s1="String";
-
String s2 = ();
-
(s1==s2);//返回true
问:final、finally、finalize的区别是什么?
答:final用于声名属性,方法,类,分别表示不可变,不可重写不可重载,不可继承
问:error和exception有什么区别?
答:
error 通常是系统错误,表示回复不是不可能但是很困难,比如内存溢出,我们不可能去指望程序进行修改这样的情况。
exception 通常表示程序错误,通常表示一种设计或实现问题,也就是说,它表示程序运行正常,从不会发生的情况,我们是可以修改程序代码或者完成需求设计来完善的。
问:运行时异常与受检异常有何异同?
答:
运行时异常就是会在运行时因为代码错误会发生异常,很常见,只要代码上不编写错误,这种情况就可以避免。
受检查异常和程序运行的上下文环境相关,即使程序设计无误,仍然可能因使用的问题而引发,Java编译器要求方法必须声明抛出可能发生的受检异常,但是并不要求必须声明抛出未被捕获的运行时异常
问:列出一些你常见的运行时异常?
答:
-
ArithmeticException(算术异常)
-
ClassCastException (类转换异常)
-
IllegalArgumentException (非法参数异常)
-
IndexOutOfBoundsException (下标越界异常)
-
NullPointerException (空指针异常)
-
SecurityException (安全异常)
问:static都有哪些用法?
答:
- 静态变量
- 静态方法
- 静态块,多用于初始化
- 静态内部类.
- 静态导向,即import static是在JDK 1.5之后引入的新特性,可以用来指定导入某个类中的静态资源,并且不需要使用类名.资源名,可以直接使用资源名,例如:
-
-
import static ;
-
public class Test{
-
public static void main(String[] args){
-
//((20));传统做法
-
(sin(20)); // 静态导包
-
}
-
}
-
问:final有哪些用法
- 被final修饰的类不可以被继承
- 被final修饰的方法不可以被重写
- 被final修饰的变量不可以被改变.如果修饰引用,那么表示引用不可变,引用指向的内容可变.
- 被final修饰的方法,JVM会尝试将其内联,以提高运行效率
- 被final修饰的常量,在编译阶段会存入常量池中.