Java連載65-自定義手動拋出異常、子類的異常範圍、數組初探

1、手動拋出異常1.自定義無效名字異常:java

(1)編譯時異常,直接繼承Exceptionnode

(2)運行時異常,直接繼承RuntimeExceptiongit

舉例子:注意點:throws會向上拋出異常,跑到最上面的話,也就是到了main主方法了,就不要再拋了,使用try...catch....打印出來吧,固然寫throws好像也沒問題。github

 

package com.bjpowernode.java_learning;

​

public class D64_2_ManualThrowException {

  public static void main(String[] args) {

    try {

      Customer65 c1 = new Customer65();

      c1.register("ng");

    }catch(IllegalNameException i1) {

      System.out.println(i1.getMessage());

    }

  }

}

class IllegalNameException extends Exception{

  //編譯時異常

  public IllegalNameException() {}

  public IllegalNameException(String msg) {

    super(msg);

  }

}

class Customer65{

  String username = "Jack";

  public void register(String username) throws IllegalNameException{

    if(username.length()<3) {

      //建立異常對象

      IllegalNameException i1 = new IllegalNameException("用戶名長度不能少於3位");

      //手動拋出異常

      throw i1;

     

    }else {

      this.username = username;

    }

  }

 

}

2、重寫的方法不能比被重寫的方法拋出更爲寬泛的異常數組

例子:微信

class A{

  public void m1(){}

}

classs B extends A{

  public void m1() throws Exception{}

  //子類永遠沒法拋出比父類更多的異常

}

 

釋義:這樣會編譯錯誤,子類的出現了異常,而父類是沒有拋出異常的學習

3、數組大數據

1.數組一種引用數據類型ui

2.數組是一種簡單的數據類型,線性的結構this

3.數組是一個容器,能夠用來存儲其餘元素,數組是能夠存儲任意數據類型的​元素。

4.​數組分爲:一維數組、二維數組、三維數組、多維數組​。。。

5.數組中存儲的​元素類型是統一的。

6.數組長度不能夠改變,數組一旦建立長度是不能夠變得,固定的

7.數組會使用數組的首元素地址做爲引用指向的地址。

8.數組的每個元素都是有下標的,有索引的,從0開始,任何一個數組都一個length屬性用來獲取數組中​元素的個數。數組最後一個元素的下標數組元素個數減1.

9.數組的優勢:查找效率比較高;缺點也是顯然的:隨意增刪元素​效率會很低。

​舉個例子:

 

package com.bjpowernode.java_learning;

​

public class D65_2_ArrayExcerse {

  public static void main(String[] args) {

    //聲明一個一維數組,用來存儲int類型

    int[] a1 = {100,200,300,400};

    //boolean類型數組

    boolean a2 = {true,false,true};

    //String類型數組

    String[] a3 = {"zhansan","lisi","wangwu"};

    //Object數組

    Object o1 = new Object();

    Object o2 = new Object();

    Object o3 = new Object();

    Object[] objs = {o1,o2,o3};

   

  }

}

 

4、源碼:

D65_1_ManualThrowException.java

D65_2_ArrayExcerse.java

https://github.com/ruigege66/Java/blob/master/D65_1_ManualThrowException.java

https://github.com/ruigege66/Java/blob/master/D65_2_ArrayExcerse.java

2.CSDN:https://blog.csdn.net/weixin_44630050

3.博客園:https://www.cnblogs.com/ruigege0000/

4.歡迎關注微信公衆號:傅里葉變換,我的公衆號,僅用於學習交流,後臺回覆」禮包「,獲取大數據學習資料

 

相關文章
相關標籤/搜索