Java語言中的----多態和異常處理

day13 Java語言中的----多態和異常處理

一、概述:

    學習Java語言就要理解Java中的面向對象的四大特徵:分別是封裝、抽象、繼承、多態。前面三個我們已經學完了,下面我們來學一下多態。什麼是多態?不明思議就是具有兩種形態性,一個方法可以定義兩種形態,這就是方法的多態性。同時我們還會學習到什麼是方法重載、和方法簽名。

    異常處理就是在編譯的時候需要我們手動的去處理一下編譯都不能夠通過的程序。使用try {} catch{}結構就可以處理異常。


二、多態:

    1、所有類的基類是object,創建一個類的時候就默認繼承這個類。

    2、方法重載:一個類裏面同一個方法被定義多次,是靜態多態型的一個體現。

    3、方法簽名:通過方法的參數部分就是一個方法簽名,根據方法簽名來區分。如“sum(int a,int b)”

    注意:當方法的返回類型不同的時候,就不屬於方法的重載。

方法重載:是靜態多態性的體現。同時是在程序編譯的過程中就決定調用哪一個形態

方法重寫:是動態多態性的體現。同時是在程序運行的過程中才決定調用哪一個形態

    4、實例一

class Student{
	
//定義的靜態多態方法
	public static void sum(int a,int b){
		System.out.println(a+b);
	}
	
	public static void sum(float a,float b){
		System.out.println(a+b);
	}
	
	public static void sum(int a,float b){
		System.out.println(a+b);
	}
	
	public static void sum(float a,int b){
		System.out.println(a+b);
	}
	
}
public class Polymorhism01 {
	public static void main(String[] args) {
		//因爲是靜態方法,可以直接通過類名來調用。
		Student.sum(2, 3);
		Student.sum(2f, 3f);
		Student.sum(2f, 3);
		Student.sum(2, 3f);
	}
	
}

三、異常處理:

    1、是使用try {} catch{} finally{} 結構。

    2、編譯時異常:是指在編譯的時候回自動提示編譯不會通過。

       運行時異常:是指在運行的時候提示出現異常的。出現非正常的終端。

    3、實例:

  public class Exception01 {
        public static void main(String[] args) {
		//實例:做兩個數的商
		//try模塊是處理可能出現的異常的代碼塊,嘗試捕獲異常
	try {
		//接受控制檯輸入
		Scanner sc = new Scanner(System.in);
		System.out.println("輸入第一個數字!");
		int a = sc.nextInt();
		System.out.println("輸入第二個數字!");
		int b = sc.nextInt();
		System.out.println(a/b);
	//catch模塊是指如何處理捕獲的異常
	} catch (Exception e) {//捕獲全部的異常!
		System.out.println("除數不能爲零!");
		//e.printStackTrace();這個是打印異常信息。
			
	//finally模塊是指程序完了以後釋放資源。不管是否出現異常,都能夠執行
	}finally{
		System.out.println("程序結束!");
	}
		
    }
}

    4、使用throw關鍵字拋出異常

        注意:誰調用有異常的方法,就拋給誰,誰就可以處理這個異常

    public class Exception02 {
	
	//1、使用throw關鍵字拋異常,誰調用就誰處理
	public static void one(){
		try {
			System.out.println(10/0);
		} catch (Exception e) {
			throw e;//拋出異常對象e
		}
	}
	
	public static void two(){
		try {
			one();
		} catch (Exception e) {
			System.out.println("我調用的one,就我來處理這個異常!");
		}
	}
	
	//2、使用throw關鍵字拋出異常。在本方法就處理。
	//處理異常時。可以將當前的異常輸出打印處理,要額可以在該方法的後面使用
	//		   throw關鍵字加上相關的異常信息解決。
	public static void student() throws ClassNotFoundException{
		Class.forName("com.c3.Student");
	}
	
	public static void main(String[] args) {
		
		//class的forname方法是手動加載一個類。他會自動的提示異常。
		try {
			//加載一個類
			Class.forName("com.c3.Student");
		}catch (ClassNotFoundException e) {
			System.out.println("這個類可能不存在!");
		}
	}
}

四、結束語:

    到這兒,多態和異常處理的核心知識就說完了,當你真正的理解到這些東西的時候你就會明白原來Java要而是很奇妙的學科。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章