国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java基礎筆記-異常總結,包

2019-11-15 00:15:20
字體:
來源:轉載
供稿:網友
java基礎筆記-異常總結,包

異常:是對問題的描述,將問題進行對象封裝,

異常的體系:

Throwable:

  1.Error

  2.Exception

    1.RuntimeException

異常體系的特點:

異常體系中的所有類以及建立的對象都具備可拋性。可以被throw和throws關鍵字所操作,只有異常體系具備這個特點。

throw和throws的用法區別:

throw定義在函數內,用于拋出異常對象。

throws定義在函數上,用于拋出異常類,可以拋出多個并用逗號隔開。

當函數內容有throw拋出異常對象,并未進行trycatch處理時,必須要在函數上throws聲明,否則會編譯失敗。RuntimeException除外,當函數內如果拋出的是RuntimeExcpetion異常,函數上可以不用聲明。

異常處理語句:try{  需要被檢測的代碼;}catch (){  處理異常的代碼;}finally{  一定會執行的代碼;}

finally:一定會被執行的代碼,通常定義的是用于關閉資源的代碼.

特殊情況:當在finally語句之前執行了System.exit(0); 語句時,finally語句不會被執行.

自定義異常:

定義類繼承Exception或者RuntimeException

1.為了讓自定義類具備可拋性。

2.讓該類具備操作異常的共性方法。

當要定義自定義異常的信息時,可以使用父類已經定義好的功能.將異常信息傳遞給父類的構造函數。

class xxxException extends Exception

{

  xxxException(String message)

  {

    super(message);

  }

}

自定義異常:根據Java中的面向對象思想,將程序中出現的特有問題進行封裝。

在子父類覆蓋時:1.子類拋出的異常必須是父類的異常的子類或者子集。2.如果父類或者接口沒有異常拋出時,子類覆蓋出現異常,只能trycatch處理而不能用throw/throws拋出。

  1 /*  2 求圓,和長方形的面積  3 */  4 class NoValueException extends RuntimeException //Exception  5 {  6     //PRivate String message;  7         NoValueException(String message)  8         {  9                 super(message);         10         } 11 } 12  13 /* 14 abstract class Shape 15 { 16      abstract void getArea(); 17 } 18  19 class rec extends Shape 20 */ 21 //接口也是一種抽象方法 22 interface Shape 23 { 24     void getArea(); 25 } 26 class Rec implements Shape  27 { 28         private int len,wid; 29         Rec(int len,int wid) //throws NoValueException 30         { 31             if(len<=0 ||wid<=0) 32                     throw new NoValueException("len,wid的值非法"); 33             /* 34                 { 35                     System.out.println("len,wid值非法"); 36                 } 37             */ 38                  39                     this.len = len; 40                     this.wid = wid;  41                  42         } 43         public void getArea() 44         { 45             System.out.println("長方形的面積是:"+len*wid); 46         } 47 } 48 class Circle implements Shape 49 { 50         private double radius; 51         public static  final double PI = 3.14; 52         Circle(double radius) throws NoValueException 53         { 54                 if(radius<=0) 55                         throw new NoValueException("出現了非法值的情況");     56                          57                 this.radius = radius; 58         } 59         public void getArea() 60         { 61                 System.out.println("圓的面積是:"+radius*radius*PI); 62         } 63      64 } 65  66 class ExceptionTest2 67 { 68     public static void main(String args[]) 69     { 70         /* 71         //繼承的是Exception時. 72                 try 73                 { 74                         Rec r = new Rec(-3,4);     75                         r.getArea(); 76                 } 77                         catch(NoValueException e) 78                 { 79                         System.out.println(e.toString()); 80                 }     81         */         82         //繼承的是RuntimeException時,可以不需要進行try操作.出現異常程序會停止. 83                 Rec r = new Rec(3,4);     84                 r.getArea(); 85                  86                  87                 try 88                 { 89                         Circle c = new Circle(-3); 90                         c.getArea(); 91                 } 92                 catch(NoValueException e) 93                 { 94                         System.out.println(e.toString()); 95                 } 96                  97  98          99         100     }101         102 }

包:package

作用:讓源文件與類文件相分離.

格式:

package 包名; //該定義語句要定義在代碼的第一行.(最上方)

有了包名以后,類名的全稱就是: 包名.類名 (該類要在包上)

當包中的類相互繼承以后,可以訪問被protected修飾的屬性和方法.包與包之間可以使用的權限有兩種:public和protected

四種權限之間能否能訪問如下所示:

        public    protected    default(默認權限)    private

同一個類中    Ok      Ok        Ok          Ok

同一個包中    Ok      Ok        Ok          No

子類       Ok      Ok        No          No

不同包中     Ok      No        No          No

注意: 在一個java文件中,不能有兩個或者兩個以上的公有類或者接口.

導入:import關鍵字.

作用,用于簡化類名的書寫.當import以后, 類名可以直接簡寫,不在需要 包名.類名 的形式書寫了.

面向對象好像終于學完了,好多還是不是很懂,不過時間不等人,只能邊自學后面的邊繼續看面向對象的有關知識了.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鹤庆县| 恭城| 炎陵县| 保山市| 涞源县| 县级市| 同江市| 德兴市| 靖西县| 崇州市| 九龙城区| 洪洞县| 平遥县| 思茅市| 崇仁县| 平湖市| 金阳县| 阜南县| 古蔺县| 兴安盟| 漯河市| 安顺市| 宁蒗| 明水县| 宣化县| 清河县| 和林格尔县| 岗巴县| 霍林郭勒市| 洪湖市| 漠河县| 周宁县| 家居| 兴安县| 安溪县| 舟曲县| 巴楚县| 酒泉市| 高雄市| 龙门县| 广州市|