1.接口
(1).子类继承父类是单继承,而接口是JAVA继承体下的多继承,一个类可以继承多个接口
(2).使用interface创建接口,在子类使用implements继承父接口
(3).接口下的方法都是默认的abstract抽象方法
(4).接口和抽象类的区别在于:抽象类利于代码复用,接口利于代码维护
(5).接口特性:
<1>.接口不可以被实例化
<2>.实现类必须实现接口的所有方法
<3>.实现类可以实现多个接口
<4>.接口中的变量都是静态常量
(8).接口:
public interface UsbInterface {
public void service ();(默认是abstract方法)
}
子类:
public class UDisk implements UsbInterface {
public void service() {}(必须重写接口所有方法)
}
2.异常
Java处理异常的5个关键字:try , catch, finally , throw 和throws
{
try (执行可能会出现异常的代码)
catch(捕捉异常)
finally(不管是否出现异常,都一定执行的代码)
throw(手动要抛出的异常)
throws(声明可能要抛出的各种异常,让调用者去处理异常)
}
Finally唯一不执行的情况是:在Finally前加System.exit(1)这句代码,就不执行Finally;(0代表异常退出,1代表强制退出);
catch异常类型:
异 常 类 型 |
说 明 |
Exception |
异常层次结构的父类
|
ArithmeticException
|
算术错误情形,如以零作除数
|
ArrayIndexOutOfBoundsException |
数组下标越界
|
NullPointerException
|
尝试访问 null 对象成员
|
ClassNotFoundException
|
不能加载所需的类
|
IllegalArgumentException
|
方法接收到非法参数
|
ClassCastException
|
对象强制类型转换出错
|
NumberFormatException
|
数字格式转换异常,如把"abc"转换成数字 |
多重异常处理:
try {
// 代码段
// 产生异常(异常类型2)
} catch (异常类型1 ex) {
// 对异常进行处理的代码段
} catch (异常类型2 ex) {
// 对异常进行处理的代码段
} catch (异常类型3 ex) {
// 对异常进行处理的代码段
}
注:(Exception异常处理类型只能放在最后一个catch异常处理中,不能放在其他异常类型之上)
3.集合
(1).Conllection,List,Set,Map接口的联系与区别
<1>Collection是一个较高的抽象,List,Set和Map都是Collection的子接口
<2>List的特征:允许重复元素,储存顺序与插入元素顺序一致(包含ArrayList,LinkedList集合)
<3>set的特征:不允许重复元素,不保证元素储存顺序(包含HashSet,TreeSet集合)
<4>Map的特征:储存元素是一系列key(键),Value(值)(包含HashMap,TreeMap集合)
(2).ArrayList和LinkedList的区别
ArrayList 遍历效率高,添加.删除效率低
LinkedList 添加.删除效率高,遍历效率低
(3).List常用的方法
方法名 |
说 明 |
boolean add(Object o) |
在列表的末尾顺序添加元素, 起始索引位置从0开始 |
void add(int index,Object o) |
在指定的索引位置添加元素。 索引位置必须介于0和列表中元素个数之间 |
int size() |
返回列表中的元素个数 |
Object get(int index) |
返回指定索引位置处的元素。取出的元素是Object类型,使用前需要进行强制类型转换 |
boolean contains(Object o) |
判断列表中是否存在指定元素 |
boolean remove(Object o) |
从列表中删除元素 |
Object remove(int index) |
从列表中删除指定位置元素, 起始索引位置从0开始 |
(4).LinkedList特用的方法
方法名 |
说 明 |
void addFirst(Object o) |
在列表的首部添加元素 |
void addLast(Object o) |
在列表的末尾添加元素 |
Object getFirst() |
返回列表中的第一个元素 |
Object getLast() |
返回列表中的最后一个元素 |
Object removeFirst() |
删除并返回列表中的第一个元素 |
Object removeLast() |
删除并返回列表中的最后一个元素 |
(5).Map常用的方法
方法名 |
说 明 |
Object put(Object key, Object val) |
以“键-值对”的方式进行存储 |
Object get (Object key) |
根据键返回相关联的值,如果不存在指定的键,返回null |
Object remove (Object key) |
删除由指定的键映射的“键-值对” |
int size() |
返回元素个数 |
Set keySet () |
返回键的集合 |
Collection values () |
返回值的集合 |
boolean containsKey (Object key) |
如果存在由指定的键映射的“键-值对”,返回true |
(6).遍历Map集合
<1>.通过迭代器Iterator实现遍历
[1].获取Iterator:Collection 接口的iterate()方法
[2].Iterator的方法
booleanhasNext(): 判断是否存在另一个可访问的元素
Object next(): 返回要访问的下一个元素
Set keys=dogMap.keySet(); //取出所有key的集合 Iterator it=keys.iterator(); //获取Iterator对象 while(it.hasNext()){ String key=(String)it.next(); //取出key Dog dog=(Dog)dogMap.get(key); //根据key取出对应的值 System.out.println(key+"\t"+dog.getStrain()); }<2>.增强型for循环遍历Map集合
Set keys = list.keySet(); for(Object key:keys){ Penguin dog=(Penguin)list.get(key); //根据key取出对应的值 System.out.println(key+"\t"+dog.getSex()); }
(6).泛型
<1>类型安全,泛型的主要目标就是提高java程序的类型安全
<2>消除强制转换,这样使得代码更加可读,减少出错的机会
<3>具有潜在的性能收益,泛型为较大的优化带本可能
藏家320 2025-03-29
藏家632 2025-03-29
木木 2025-03-29
藏家259 2025-03-29
藏家259 2025-03-29
藏家999 2025-03-29
藏家929 2025-03-29
Henry 2025-03-29
藏家869 2025-03-29
藏家181 2025-03-29