zoukankan      html  css  js  c++  java
  • Java实训笔记(一)-----异常处理——抽象类——集合

    abstract 关键字不能用来修饰变量和构造方法,即没有抽象变量和抽象构造方法的说法 。abstract关修饰的的方法只有被子类重写才有意义。否则这个方法永远没有方法体,因此抽象方法不能被定义为private,即private 和abstract不能同时修饰方法,avstract也不能和static,final 或native 同时修饰同一方法。
    抽象类不能被实例化,只能被当成父类来继承。从语义角度上讲,抽象类是从多个具有相同特征的类中抽象出的一个父类。


    阶段4:
    4.1异常概述:
    java 异常分类:
    1.错误:Error。虚拟机相关的问题,如系统崩溃,虚拟机错误,动态链接失败。
    2.异常:Exception。程序编码错误导致,这些问题能够被系统捕获并进行处理,从 而避免应用程序非正常中断,例如:除以0,对负数开平方根、空指针访问等。

    非检查型异常:ArrayIndexOutOfBoundsException NullPointerException NumberFormatException ArithmeticException ClassCastException

    检查型异常:SQLException IOException FileNotFoundException

    java 异常2种处理机制:
    1.try....catch
    2.throws
    try..catch...finally
    单catch 语句捕获异常
    try{ }
    catch(Exception e){//出错信息 e.printStackTrace();}

    多catch语句
    try{}
    catch(InputMismatchException e){//出错信息1}
    catch(ArithmeticException e){//出错信息2}
    catch(Exception e){//other error; e.printStackTrace();}

    异常捕获:
    从java7之后可以这么写
    try{}
    catch(InputMismatchException | ArithmeticException e){ // Error info;}


    try..catch..finally
    保证代码即便出现了错 误,也能够被执行。

    public static void test1(){

    try{FileInputStream fis = new FileInputStream("c://txt");}
    catch(FileNotFoundException e){e.printStackTrace();}
    finally{// 最终一定会被执行的代码:比如释放资源的代码,都会被正确的释放,即便前面出现return }


    }
    java新版本的写法,自动释放资源,把资源放到try()括号里,java自动运行finally的close功能。
    public static void test2(){

    try(FileInputStream fis = new FileInputStream("c://txt");){//这里还有其他的处理代码。}
    catch(FileNotFoundException e){e.printStackTrace();}
    finally{// 最终一定会被执行的代码:比如释放资源的代码,都会被正确的释放,即便前面出现return }


    }

    4.3抛出异常:

    throw 抛出的是一个异常对象。
    try{ if(b==0) throw new Exception("除数不能为零");}
    catch(){}
    finally{}

    或者:
    public static void chufa() throws Exception{..}
    那么在调用这个方法的时候,必须要针对这个异常进行处理。

    public static void main (String[] args){

    try{chufa();}
    catch(Exception e){e.printStackTrace();}

    }

    chufa() throws ArithmeticException,InputMismatchException{}
    抛出一个异常序列

    自定义异常:

    public class AgeException extends Exception{

    public AgeException(){}
    public AgeException(String msg){
    super(msg);
    }
    }
    自定义异常,可以继承Exception或者Runtime Exception.


    4.5集合概述:

    Java中的集合分为三大类:
    Set集合:无序,元素不重复
    List集合:有序,寻秩访问,元素可重复,长度可变。
    Map集合:每个元素都是Key/Value 键值对组成,根据Key访问value,Map集合中的Key不能重复,value可以重复。


    Collection借口:

    是Set,Queue,List的父接口,常用方法:
    add(),addAll(),clear(),contains(),containsAll()

    Collection 借口没有提供获取某个元素的方法,但可以通过iterator()方法获取迭代器来遍历集合中的所有元素。


    Iterator接口:
    Iterator可以采用统一的方式对Collection集合中的元素进行遍历操作。
    Iterable接口是Collection接口的父接口。所有实现了Iterable的集合类都是可迭代的,都支持foreach循环遍历。

    4.6集合类:
    List常用方法:
    add() addAll() get() indexOf() lastIndexOf()

    ArrayList和Vector 是List接口的两个典型实现类,完全支持List接口的所有功能方法。
    ArrayList是线程不安全,Vector线程安全。

    Vector的一个子类Stack,可以模拟栈。

    4.7集合工具类:
    Collections 和 Arrays
    Collections 提供了一些对Collection集合常用的静态方法。比如:排序,复制,查找,填充。
    使用Collections工具类为集合进行排序时,集合中的元素必须是Comparable可比较的,Java提供一个Comparable接口,该接口中只有一个compareTo()比较方法。



  • 相关阅读:
    linux shell获取用户输入
    yii2 笔记(1)
    yii2 数据库查询
    Yii2 环境配置生产环境和测试环境
    mysql 中find_in_set()和in()用法比较
    使用js提交form表单的两种方法
    base64编码的原理及实现
    浅析HTTP/2的多路复用
    Nginx 所使用的 epoll 模型是什么?
    git代码统计
  • 原文地址:https://www.cnblogs.com/vector11248/p/5625217.html
Copyright © 2011-2022 走看看