JAVA知识------接口,异常,集合_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > JAVA知识------接口,异常,集合

JAVA知识------接口,异常,集合

 2016/6/27 5:31:09  DaiChengwo  程序员俱乐部  我要评论(0)
  • 摘要:1.接口(1).子类继承父类是单继承,而接口是JAVA继承体下的多继承,一个类可以继承多个接口(2).使用interface创建接口,在子类使用implements继承父接口(3).接口下的方法都是默认的abstract抽象方法(4).接口和抽象类的区别在于:抽象类利于代码复用,接口利于代码维护(5).接口特性:<1>.接口不可以被实例化<2>.实现类必须实现接口的所有方法<3>.实现类可以实现多个接口<4>.接口中的变量都是静态常量(8).接口
  • 标签:Java 接口 异常

class="MsoNormal">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>具有潜在的性能收益,泛型为较大的优化带本可能

发表评论
用户名: 匿名