Java基础_异常与抽象

Day_11 异常与抽象

一.异常
1.定义:用来封装错误信息的对象,由类型,提示以及行号组成。

2.异常的继承结构
Throwable-顶级父类
—Error-系统错误,无法修复
—Exception-可修复的错误
—Run TimeException
—ClassCastException
—ClassNotFundException

3.异常处理:当程序中遇到了异常,通常有两种处理方式。捕获与向上抛出。当调用了一个抛出异常的方法时,调用位置可以不做处理继续向上抛出也可以捕获异常。
<1>捕获方式:
Try{
需要捕获的代码
}catch(异常类型 异常名){
处理方案
}

<2>抛出方式:在发生异常的方法上加代码:throws。
例如:public static void main(String[] args) throws Exception{

二.测试异常

//接收键盘输入的两个数字并做除法运算。
import java.util.Scanner;
public class Test {
     

	public static void main(String[] args) {
     
		
	try {
     //捕获异常:把可能发生异常的代码放在try里。
		 //当异常发生时会被catch住并执行catch中执行异常处理的代码。
		System.out.print("请输入一个数a:");
		int a = new Scanner(System.in).nextInt();
		
		System.out.print("请输入一个数b:");
		int b = new Scanner(System.in).nextInt();
		
		System.out.println(a/b);
	    }catch(Exception e) {
     
	    	//提出解决方案
	    	System.out.println("您输入的两次整数有误!");
	    }
	}

}

三.抽象类
1.定义:Java中可以定义没有方法体的方法,该方法由其子类来具体的实现。该没有方法体的方法我们称之为抽象方法,含有抽象方法的类我们称之为抽象类。抽象类可以理解为是一个只有方法声明而没有方法体的特殊类。

2.格式:修饰符 abstract 返回值 方法名(参数列表)

3.特点:
<1>通过Java关键字abstract实现。
<2>可以修饰方法或者类。
<3>抽象类中可以没有抽象方法(由子类去实现)。
<4>如果类中有抽象方法,那么该类必须定义为一个抽象类。
<5>子类继承的抽象类后,要么还是一个抽象类,要么就把所有的抽象方法都重写。
<6>多用于多态中。
<7>抽象类不可以被实例化。

四.抽象类的构造函数

public class Abstract_Construct {
     

	public static void main(String[] args) {
     
		
		Son s = new Son();
        
		//Animal2 a = new Animal2();//抽象类无法实例化。
		
		//Animal2 a = new Son();//抽象类多用于多态。
		
	}

}

abstract class Animal2{
     
	//抽象类可以有构造方法,但是无法实例化。
	public Animal2() {
     
		System.out.println("构造方法1");
	}
	
}

class Son extends Animal2{
     
	public Son() {
     
		
		System.out.println("构造方法2");
	}
}

五.抽象类的成员方法

public class Abstract_Construct {
     

	public static void main(String[] args) {
     
		
		Son s = new Son();
        
		//Animal2 a = new Animal2();//抽象类无法实例化。
		
		//Animal2 a = new Son();//抽象类多用于多态。
		
	}

}

abstract class Animal2{
     
	//抽象类可以有构造方法,但是无法实例化。
	public Animal2() {
     
		System.out.println("构造方法1");
	}
	
}

class Son extends Animal2{
     
	public Son() {
     
		
		System.out.println("构造方法2");
	}
}

你可能感兴趣的:(学习,java)