• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Java面向對象
    Java異常
    Java數組
    Java常用類
    Java集合
    Java IO流
    Java線程
    Java反射
    Socket編程
    Java注解開發
    Java GoF設計模式
    HashMap
    Java內存模型
    Java線性表

    Java方法覆蓋中的異常處理與Java異常在開發中的應用

     

     

    Java方法覆蓋中的異常處理

     

    Java方法覆蓋規則:

     

    ● 方法簽名必須相同

     

    ● 方法返回值類型, 可以相同 ,子類方法的返回值類型可以是父類方法返回值類型的子類型

     

    ● 方法權限可以更寬泛

     

    ● 方法的異常不能大于父類方法的異常

     

     

    Java異常在開發中的應用

     

    自定義異常

     

    package com.wkcto.chapter02.demo03;
    //1) 定義一個類繼承Exception
    public class AgeOutOfBoundsException extends Exception {
    	//2) 一般提供兩個 構造方法
    	public AgeOutOfBoundsException() {
    		super();
    	}
    	//帶有字符串參數的構造方法, 這個字符串是異常信息
    	public AgeOutOfBoundsException(String message) {
    		super(message);
    	}
    	
    }

     

    package com.wkcto.chapter02.demo03;
    
    public class Person {
    	private String  name;
    	private int age;
    	private String gender;
    	
    	@Override
    	public String toString() {
    		return "Person [name=" + name + ", age=" + age + ", gender=" + gender + "]";
    	}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public int getAge() {
    		return age;
    	}
    	//4) throw語句所在的方法通過throws 聲明該異常
    	public void setAge(int age) throws AgeOutOfBoundsException {
    		//必要時,在setter()方法中,對參數接收的數據進行合理 性驗證
    		if ( age >= 0 && age <= 130) {
    			this.age = age;			
    		}else {
    			//年齡不合理 , 拋出一個異常
    			//3)在需要的位置,通過throw拋出一個異常對象
    			throw  new AgeOutOfBoundsException("年齡越界");
    		}
    	}
    
    	public String getGender() {
    		return gender;
    	}
    
    	public void setGender(String gender) {
    		this.gender = gender;
    	}
    	
    	
    }

     

    package com.wkcto.chapter02.demo03;
    /**
     * 測試自定義異常
     * @author 蛙課網
     *
     */
    public class Test {
    
    	public static void main(String[] args) {
    		
    	/*	//創建Person對象
    		Person lisi = new Person();
    		//直接給lisi的各個字段賦值 , 可能會賦值一些無效的值
    		lisi.name = "lisi";
    		lisi.age = 188888;   	//沒有語法錯誤, 沒有意義,賦的值無效, age表示一個人的年齡
    		lisi.gender = "男";
    		System.out.println( lisi );*/
    		
    		//對字段進行封裝后
    		Person lisisi = new Person();
    		lisisi.setName("lisis");
    		//5)對受異常進行預處理
    		try {
    			lisisi.setAge( 188888 );
    		} catch (AgeOutOfBoundsException e) {
    			e.printStackTrace();
    		}
    		lisisi.setGender("妖");
    		System.out.println( lisisi );
    	}
    
    }

     

     

    總結:

     

    1、理解異常是什么,異常的作用

     

    2、掌握異常類的結構: Throwable, Error , Exception, 編譯時異常, 運行時異常

     

    3、掌握異常預處理的方法: 捕獲處理, 拋出處理

     

    4、理解異常預處理方式的選擇?   定義方法,  調用方法

     

    5、記住方法覆蓋中的異常處理

     

    6、掌握自定義異常的方法

     

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏