当前位置: 首页 > news >正文

零基础学JAVA--Day27(注释+异常+异常处理方法)

注解(Annotation)

使用Annotation时要在其前面增加@符号,并把该Annotation当成一个修饰符使用。用于修饰它支持的程序元素
三个基本的Annotation:
1)@Override:限定某个方法,是重写父类方法,该注解只能用于方法
2)@Deprecated:用于表示某个程序元素(类,方法等)已过时
3)@SuppressWarnings:抑制编译器警告

@Override

class Father{//父类public void fly(){System.out.println("Fatherfly...");class Son extends Father //子类//1。@override注解放在fly方法上,表示子类的fly方法时重写了父类的fly//2。这里如果没有写@override还是重写了父类fly//3。如果你写了@0veide注解,编译器就会去检查该方法是否真的重写了父类的方法,如果的确重写了,则编译通过,如果没有构成重写,则编译错误@override//说明public void fly(){System.out.println("Sonfly....");}
}

Override使用说明

1.@Override表示指定重写父类的方法(从编译层面验证),如果父类没有fly方法,则会报错
2.如果不写@Override注解,而父类仍有publicvoidflyot,仍然构成重写
3.@Override只能修饰方法,不能修饰其它类,包,属性等等4.查看@Override注解源码为@Target(ElementType.METHOD),说明只能修饰方法
5.@Target是修饰注解的注解,称为元注解

@Deprecated

用于表示某个程序元素(类,方法等)已过时,不推荐使用,但仍然可以使用

@Deprecated的说明
1.用于表示某个程序元素(类,方法等)已过时
2.可以修饰方法,类,字段,包,参数 等等
3. @Target(value=(CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD,PACKAGE, PARAMETER,TYPE)
4.@Deprecated的作用可以做到新l旧版本的兼容和过渡

@SuppressWarnings

1、当我们不希望看到这些警告的时候,可以使用SuppressWarnings注解来抑制警告信息
2、在{" "}中,可以写入你希望抑制(不显示)警告信息
3、可以指定的警告类型有(不完整)
4、关于SuppressWarnings作用范围是和你放置的位置相关。比如@SuppressWarnings放置在main方法,那么抑制警告的范围就是main

异常

int num = 10;
int num2 = 0;
//1。num1 /num2 =>10/0
//2。当执行到num1/num2因为num2=0,程序就会出现(抛出)异常ArithmeticException
//3。当抛出异常后,程序就退出,崩溃了,下面的代码就不在执行
//4。大家想想这样的程序好吗?不好,不应该出现了一个不算致命的问题,就导致整个系统崩溃
//5。java设计者,提供了一个叫异常处理机制来解决该问题(try-catch)
int res =num1 /num2;
//如果程序员,认为一段代码可能出现异常/问题,可以使用try-catch异常处理机制来解决
//从而保证程序的健壮性
//将该代码块->选中->快捷键ctrl+alt+t->选中try
try {//尝试一下,即使程序出错了,会抛出错误。程序仍然继续执行int res =num1/num2;
catch (Exception e) {e.printStackTrace();
}

基本概念

Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常)

执行过程中所发生的异常事件可分为两类

1)Error(错误):Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等严重情况。比如:StackOverflowError[栈溢出]和OOM(out of memory),Error是严重错误,程序会崩溃。
2)Exception:其它因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。例如空指针访问,试图读取不存在的文件,网络连接中断等等,Exception分为两大类:运行时异常[ ]和编译时异常[ ]。

异常体系图

异常体系图的小结

1.异常分为两大类,运行时异常和编译时异常
2.运行时异常,编译器检查不出来。一般是指编程时的逻辑错误,是程序员应该避免其出现的异常。java.lang.RuntimeException类及它的子类都是运行时异常
3.对于运行时异常,可以不作处理,因为这类异常很普遍,若全处理可能会对程序的可读性和运行效率产生影响
4.编译时异常,是编译器要求必须处置的异常。

异常处理

try{ }catch(Exception e){ }finally{}

throws处理


基本介绍
1)如果一个方法(中的语句执行时)可能生成某种异常,但是并不能确定如何处理这种异常,则此方法应显示地声明抛出异常,表明该方法将不对这些异常进行处理,而由该方法的调用者负责处理。
2)在方法声明中用throws语句可以声明抛出异常的列表,throws后面的异常类型可以是方法中产生的异常类型,也可以是它的父类。

public class Throws01 {public static void main(String[] args) {void f1() throws FileNotFoundException {//创建了一个文件流对象//1。这里的异常是一个FileNotFoundException编译异常//2.使用前面讲过的try-catch-finally//3。使用throws,抛出异常,让调用f1方法的调用者(方法处理)//4,throws后面的异常类型可以是方法中产生的异常类型,也可以是它的父类//5。throws关键字后也可以是异常列表,即可以抛出多个异常    FileInputstream fis = new FileInputstream("d://aa.txt");}}
}

一些细节

1)  对于编译异常,程序中必须处理,比如try-catch或者throws(二选一)
2)对于运行时异常,程序中如果没有处理,默认就是throws的方式处理[举例]
3)子类重写父类的方法时,对抛出异常的规定:子类重写的方法,所抛出的异常类型要么和父类抛出的异常一致,要么为父类抛出的异常的类型的子类型[举例]
4)在throws过程中,如果有方法try-catch,就相当于处理异常,就可以不必throws

——————————————————————————

Day 27 End

离回家还有62天~

http://www.dtcms.com/a/589782.html

相关文章:

  • 新华网站建设设计漂亮的网站
  • Linux下的编译器gcc/g++
  • 【Redis|第一篇】基础篇
  • 嵌入式回调:弱函数与函数指针的实战解析
  • 网站建设技术支持包括哪些小工程施工合同协议书
  • 掌握RAG系统的七个优秀GitHub存储库
  • 网站开发面试都会问什么问题网站开发的阶段流程图
  • 如何将废弃笔记本搭建成服务器:使用花生壳内网穿透实现公网访问
  • Linux网络编程:应用层协议HTTP
  • 网站按域名跳转不同的页面网站建设面谈话术
  • Photoshop - Photoshop 工具栏(25)仿制图章工具
  • Java 会话技术、Cookie、JWT令牌、过滤器Filter、拦截器Interceptor
  • 简单理解:ADC(模数转换)采集的滤波算法
  • WASM 3.0 两大领域实战:SvelteKit前端新范式(完整版)
  • WebForms ArrayList 深入解析
  • 免费建站网站建设wordpress4.9.1加速
  • 网络seo营销推广网站开发百灵鸟优化
  • 详解Shell中的if分支(单个条件、多个条件)
  • C++后端总览
  • 快速上手配置Zookeeper
  • Linux1
  • 没有基础怎么学网站建设有没有免费查公司的软件
  • 毕业设计做网站有什么好处wordpress 的论坛模板下载
  • linux spi回环测试
  • 广州机械网站建设wordpress简约
  • Map和HashMap
  • 房地产网站建设方案书网站后台管理页面下载
  • 002-文本、图像和超链接
  • 网站改版对网站优化影响最大的问题有哪些影楼微网站建设
  • win7iis添加网站江苏住房建设厅网站