- 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区别
答:区别如下:
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
- ArrayList和Vector的区别,HashMap和Hashtable的区别
ArrayList与Vector
一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
HashMap与HashTable
一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
三.值:只有HashMap可以让你将空值作为一个表的条目的key或value
- collections和collection区别:
collection是个接口,
collections是个集合工具类, 提供一些基于list的静态方法.
List l1 = new LinkedList(); Collections.reverse(l1); Collections.sort(l1);
Collections.binarySearch(l1, "a5");