Java学习之泛型和异常

泛型

     1,设计原则或目的:只要代码在编译的时候没有错误,就不会抛异常。

     2,泛型通配符  :类型通配符一般是使用 ? 代替具体的类型实参。注意了,此处是类型实参,而不是类型形参!相当于(父类作用)List<?>

     3,类型通配符上限: 定义List<?extends Number>:表示类型只能是Number和其子类

     4,类型通配符下限;同理:List<? supper Integer>:表示类型只能是Integer和其父类

     5,并且还要注意的一点是,Java中没有所谓的泛型数组一说

异常

    异常目的:保证程序的健壮性,异常机制有:处理规则(先处理小异常在处理大异常)五个关键字:

       try:处理程序

       catch:捕获异常

       finally:在异常机制中一定会在结束前执行的,用于回收try中的物理资源,注意:如果finally使用了

          throw或return,会导致try和catch中的throws和return失效,因此不推荐在finally中使用throw或return;

       throw:在try-catch里面

       throws(方法签名,表示可能抛出的异常即在方法体上常见;public void method throws IoExecption(){}

    异常继承机制:

       Error:一般指与虚拟机相关的问题,如系统崩溃,虚拟机错误等无法恢复和不可捕获,将导致应用程序中断的错误。

   异常分类:

      1,Checked:显示性异常,认为用户自己可以处理的,用throws抛出声明和try catch方法抛出

      2,Runtime:隐式异常,只通过try-catch方法抛出

   常见的异常有详细见这里

      1,java.lang.NullPointerException(空指针异常)

      2,java.lang.ClassNotFoundException(没找到类)

      3, java.lang.NumberFormatException( 字符串转换为数字异常 )

      4,java.lang.IndexOutOfBoundsException(数组下标越界)

      5,java.lang.IllegalArgumentException(非法参数)如个数,类型等

      6,java.lang.IllegalAccessException(没有访问权限)

      7,java.lang.ArithmeticException(数学运算异常,如除0)

      8,java.lang.ClassCastException(类型转换错误)

       9, java.lang.FileNotFoundException(文件未找到异常),多是路径问题

       10, java.lang.ArrayStoreException(数组存储异常),类型不搭配

       11,java.lang.NoSuchMethodException(方法不存在异常)

       12,java.lang.InterruptedException(被中止异常,多由于时间过长等待,休眠等暂停状态)

       13,java.lang.OutOfMemoryException(内存不足)

       14,还有IOExecption,SQLExecption,SocketExecption,SecurityExecption

 

posted @ 2017-06-21 18:37  谢玉林  阅读(121)  评论(0编辑  收藏  举报
友情链接:回力鞋 | 中老年高档女装