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要而是很奇妙的学科。