java入门六:java基础终章

1、static关键字

静态变量和类一起加载,final修饰后的类无法被继承
在这里插入图片描述

2、抽象类

①abstract修饰符可以用来修饰方法也可以修饰类,如果修饰方法,那么该方法就是抽象方法,如果修饰类,那么该类就是抽象类。
抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类。
②抽象类,不能使用new关键字来创建对象,它是用来让子类继承的。
③抽象方法,只有方法的声明,没有方法的实现,它是用来让子类实现的。
④子类继承抽象类,那么就必须要实现抽象类中没有实习那的抽象方法,否则该子类也要声明为抽象类
在这里插入图片描述

3、接口的定义与实现

①普通类:只有具体实现
②抽象类:具体实现和规范(抽象方法)都有!
③接口:只有规范!,自己无法写方法,专业的约束,约束和实现分离
④接口就是规范,定义的是一组规则,体现了现实世界中“如果你是…则必须能…”的思想,
⑤接口的本质是契约,就像法律一样,制定好了大家都得遵守
OO的精髓就是对对象的抽象,最能体现这一点的就是接口,为什么我们讨论设计模式都只针对具备了抽象能力的语言(C++、java、C#)就是因为设计模式所研究的,实际上就是如何合理的去抽象。
⑥声明类的关键字是class、声明接口的关键字是interface
在这里插入图片描述

4、N种内部类

内部类就是在一个类的内部再定义一个类,比如A类中定义一个B类,那么B类相对于A类来说就是称为内部类,而A类相对于B类来说就是外部类,内部类一共有如下四种
①成员内部类②静态内部类③局部内部类④匿名内部类

5、异常机制

5.1异常简介

异常的定义:程序在运行过程中可能会出现一些错误。比如: 使用了不存在的索引、两个不同类型的数据相加、文件找不到、网络连接失败、非法参数…这些错误我们称之为异常,它发生在程序运行的时候,影响了正常程序的执行流程
①检查性异常:最具代表性的检查性异常就是用户问题引起的异常,这是程序员无法预见的,例如打开一个不存在的文件,这些异常再编译时不能被简单的忽略掉
②运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略
③错误:错误不是异常,而是脱离了程序员的控制,错误在代码中通常被忽略,例如当栈溢出时,就报错,但是程序在编译的时候是检测不到的

5.2异常体系结构

java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类
在java API中已经定义了许多的异常类,这些异常类分为两大类,错误Error和异常Exception

5.2.1Error

①Error对象由java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关
②java虚拟机运行错误(Virtual MachineError),当JVM不再有继续执行操作所需要的内存资源时,将出现OutOfMemoryError。这些异常发生时,java虚拟机(JVM)一般会选择线程终止

5.2.2Exception

在Exception分支中有一个重要的子类RuntimeException(运行时异常)
ArrayIndexOutOfBoundsException(数组下标越界)
NullPointerException(空指针异常)
ArithmeticException(算数异常)
MissingResourceException(丢失资源)
ClassNotFoundException(找不到类异常)
这些异常不是检查异常,程序可以选择捕获处理,也可以不处理
这些异常室友程序的逻辑错误引起的,程序应该从逻辑的角度尽可能避免这类异常的发生

Error和Exception的区别:Error时灾难性的知名的错误,是程序无法控制和处理的,当出现这些异常的时候,Java虚拟机(JVM)一般会选择终止线程,Exception通常情况下时可以被程序处理的,并且在程序中应该尽可能的去处理这些异常

5.3java异常处理机制

抛出异常
在这里插入图片描述

捕获异常:只要捕获到了异常或者是没捕获到但是报错了try里面的代码就不会在继续执行了,想要捕获多个异常注意从小到大书写异常
异常处理的五个关键字
try、catch、finally、throw、throws
在这里插入图片描述

5.4自定义异常

①创建自定义异常类,只需要继承Exception类即可
②在方法中通过throw关键字抛出异常
③如果在当前抛出异常的方法中处理异常,可以通过try-catch语句捕获并处理,否则在方法的声明处通过throws关键字指明要拍出给方法调用者的异常,继续进行下一步操作
④在出现异常方法的调用者中捕获并处理异常
在这里插入图片描述

shift+shift可以搜索文件
在这里插入图片描述
处理异常的常用规则
①处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理
在多重catch块后面,可以加一个catch(Exception)来处理可能会被遗漏的异常
②对于不确定的代码,也可以加上try-catch,处理潜在的异常
③尽量去处理异常,切记只是简单的printStackTrace()去打印输出
④具体如何处理异常,要根据不同的业务需求和异常类型去决定
⑤尽量添加finally语句去释放占用的资源

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值