您的位置:首页 > 职场人生

Java面试题

2016-04-15 08:18 309 查看
throw和throws的区别:

1、throw代表动作,表示抛出一个异常的动作;throws代表一种状态,代表方法可能有异常抛出
2、throw用在方法实现中,而throws用在方法声明中
3、throw只能用于抛出一种异常,而throws可以抛出多个异常

final关键字:

1.修饰类

  当用final修饰一个类时,表明这个类不能被继承。但是要注意final类中的所有成员方法都会被隐式地指定为final方法。

2.修饰方法: 不能被覆盖

3.修饰变量: 对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。

override (重写)和overload (重载)

方法重写(overiding method) 子类不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。

方法重载(overloading method) 是在一个类里面,方法名字相同,而参数不同。返回类型呢?可以相同也可以不同。

作用域public,private,protected,public区别

[align=left]答:区别如下:[/align]
[align=left]作用域 当前类 同一package 子孙类 其他package[/align]
[align=left]public √ √ √ √[/align]
[align=left]protected √ √ √ ×[/align]
[align=left]friendly √ √ × ×[/align]
[align=left]private √ × × ×[/align]

ArrayList和Vector的区别,HashMap和Hashtable的区别

[align=left]ArrayList与Vector[/align]
[align=left]一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的[/align]
[align=left]二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半[/align]
[align=left]HashMap与HashTable[/align]
[align=left]一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现[/align]
[align=left]二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的[/align]
[align=left]三.值:只有HashMap可以让你将空值作为一个表的条目的key或value[/align]

collections和collection区别:

collection是个接口,

collections是个集合工具类, 提供一些基于list的静态方法.

List l1 = new LinkedList();

Collections.reverse(l1);

Collections.sort(l1);
Collections.binarySearch(l1, "a5");


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: