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的静态方法.
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");
相关文章推荐
- 面试记录五:腾讯后台研发
- 面试记录四:腾讯后台研发问题大集锦
- 面试记录三:腾讯后台研发
- 面试记录二:腾讯后台研发
- 2016年最值得新手程序员阅读的书:《增长工程师指南》
- MYSQL 数据表修复及数据恢复面试题
- OSChina 周五乱弹 ——程序员的友谊小船是如何说翻就翻的
- 浅谈栈和队列的有关面试题
- 刚挣钱的程序员同学该如何花钱?
- 程序员的“非程序员”之路
- 程序员的激情其实是一种痛苦
- 程序员如何以一敌二
- 一个优秀的程序员应该如何提高工作效率?
- 腾讯一面总结
- 腾讯实习生面试题--替换字符串中指定子串
- LeetCode(60)-ZigZag Conversion
- 面试记录一:腾讯后台研发
- 微软等面试100题系列 - 45(3)
- 微软等面试100题系列 - 45(2)
- 海量数据面试题整理(一)