CGBTN2108-DAY09总结复习(2)

最后

针对以上面试题,小编已经把面试题+答案整理好了

最新大厂必问微服务面试题汇总:SpringCloud、Boot、Dubbo

最新大厂必问微服务面试题汇总:SpringCloud、Boot、Dubbo

最新大厂必问微服务面试题汇总:SpringCloud、Boot、Dubbo

面试专题

image

除了以上面试题+答案,小编同时还整理了微服务相关的实战文档也可以分享给大家学习

image

image

image

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

1.1 异常的继承结构


异常层次中的根节点Throwable

  1. Error : 目前我们编码解决不了的问题

  2. Exception : 通常可以通过编程解决的问题

1)编译时异常 : 不用运行就已经报错了,比如,少写了分号/父类对象调用子类的特有功能。。。

2)运行时异常 : RunTimeException,编写以及保存的时候没有报错,但是在执行中报错了

注意: 运行时异常是可以通过编译的,不强制要求处理,方法上有默认抛出RunTimeException

1.2 异常处理方案


  1. 捕获处理try-catch : 自己解决,格式:

try{

可能会出现异常的所有的代码

}catch(预测的异常类型 异常名字){

如果匹配到了我们预测的异常类型,就执行此处异常的处理方案

}

  1. 向上抛出throws :在本方法不解决这个问题,谁来调用这个方法,谁解决问题,格式:

public void play() throws 异常类型1,异常类型2 {}

注意:我们一般不把异常直接抛给main(),因为调用main()的是虚拟机,没人解决了

1.3 巩固练习


package cn.tedu.review;

import java.util.InputMismatchException;

import java.util.Scanner;

/本类用于复习异常的解决方案/

public class TestException {

public static void main(String[] args) {

//1.调用方法,求两个整数除法的结果

//method1();//try-catch分别单独处理了两个子类型异常

//method2();//try-catch使用多态,用父类型异常做统一处理

//method3();//throws本方法不处理异常,将异常抛出

/main()不能直接调用method3(),因为实际上被抛出的问题没有被解决,该报错还报错/

f();//用来在main()调用method3()之前,处理掉问题

}

private static void f() {

try{

method3();//调用方法3,即使它抛出异常,我们也在此处处理掉了,不会抛给main()

}catch (Exception e){

System.out.println(“数据不对!”);

}

}

//private static void method3() throws ArithmeticException,InputMismatchException{

private static void method3() throws Exception{

System.out.println(“输入第一个数:”);

int a = new Scanner(System.in).nextInt();

System.out.println(“输入第二个数:”);

int b = new Scanner(System.in).nextInt();

System.out.println(a/b);

}

private static void method2() {

try{

System.out.println(“输入第一个数:”);

int a = new Scanner(System.in).nextInt();

System.out.println(“输入第二个数:”);

int b = new Scanner(System.in).nextInt();

System.out.println(a/b);

//不管是子异常:算术异常还是输入不匹配异常,都可以被Exception匹配到

}catch (Exception e){

//提供的通用的解决方案

System.out.println(“您输入的数据不正确,请重新输入!”);

}

}

//ArithmeticException–除数为0

//InputMismatchException–接收的数据类型不是整形

/解决方案一:/

private static void method1() {

try{

System.out.println(“输入第一个数:”);

int a = new Scanner(System.in).nextInt();

System.out.println(“输入第二个数:”);

int b = new Scanner(System.in).nextInt();

System.out.println(a/b);

//针对于算术异常-子异常 特有的解决方案:

}catch (ArithmeticException e){

System.out.println(“除数不能为0!”);

//针对于与输入不匹配异常-子异常 特有的解决方案

}catch (InputMismatchException e){

System.out.println(“请输入整型的数据:”);

}

}

}

2.抽象

==========================================================================

2.1 抽象类


  1. 被关键字abstract修饰的类是抽象类

  2. 一旦一个类中包含了抽象方法,那么这个类必须被声明成一个抽象类

  3. 抽象类中的方法不做限制,非常自由:全普 / 全抽 / 半普半抽

  4. 抽象类不可以实例化–创建对象

  5. 抽象类有构造方法,它自己不用,但是为了子类创建对象时调用

  6. 如果一个子类继承了抽象父类,那么有两种解决方案:

1)作为一个抽象子类:不实现/实现部分抽象父类的抽象方法,躺平

2)作为一个普通子类:需要实现抽象父类的全部抽象方法,还债

2.2 抽象方法


  1. 被关键字abstract 修饰的方法就是抽象方法

  2. 抽象方法没有方法体{ },直接以分号结束

2.3 巩固练习


package cn.tedu.review;

/本类用于复习抽象类与抽象方法/

public class TestAbstract {

public static void main(String[] args) {

//5.创建子类对象进行测试

CGBTeacher c = new CGBTeacher();

ACTTeacher a = new ACTTeacher();

//报错:抽象类不可以实例化

读者福利

秋招我借这份PDF的复习思路,收获美团,小米,京东等Java岗offer

更多笔记分享

秋招我借这份PDF的复习思路,收获美团,小米,京东等Java岗offer

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

//报错:抽象类不可以实例化

读者福利

[外链图片转存中…(img-P02wgLa9-1715819942416)]

更多笔记分享

[外链图片转存中…(img-oEpgc2zI-1715819942416)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值