当前位置:网站首页>内部类、异常简单介绍(第十天)
内部类、异常简单介绍(第十天)
2022-08-02 00:19:00 【不习惯有你】
内部类:(当做类中的一个普通成员变量,只不过此成员变量是class的类型)
一个java文件中可以包含多个class,但是只能有一个public class
如果一个类定义在另外一个类的内部,此时可以称之为内部类
使用:
创建内部类的时候跟之前的方法不一样,需要在内部类的前面添加外部类来进行修饰
语法:
外部类 外部类对象 = new 外部类();
外部类.内部类 内部类对象 = 外部类对象.new 内部类();
innerClassDemo.InnerClass inner = new innerClassDemo().new InnerClass();
特点:
1.内部类可以方便的访问外部类的私有属性
2.外部类不能访问内部类的私有属性,但是如果创建了内部类的对象,此时可以在外部类中访问私有属性
3.内部类中不能定义静态属性
4.当内部类和外部类具有相同的私有属性的时候,在内部类中访问的时候,可以直接访问内部 类的属性,如果需要访问外部类的属性,那么需要添加 外部类名.this.属性
分类:
匿名内部类:当定义了一个类,实现了某个接口的 时候,在使用过程中只需使用一次,没有其他用途,其实考虑到代码编写的简洁,可以考虑不创建具体的类,而采用new interface({添加未实现的方法} )就叫做匿名内部类
静态内部类:在内部类中可以定义静态内部类,使用static关键字进行修饰,使用规则
外部类.内部类 类的引用名称 = new 外部类.内部类();

方法内部类:在外部类的方法中也可以定义类,此时叫做方法内部类,使用的时候只能在方法中创建对象,因为此class的作用域就是当前方法
当前方法在传递参数的时候需要注意
异常:
在程序运行过程中,出现的不正常情况叫做异常
注意:相同的代码在运行的时候,根据输入的参数或者操作的不同,有可能会发生异常,有有可能不会发生异常,应该在写代码的过程中尽可能保证代码的正确性,不要到处都是bug
程序在运行过程中如果出现了问题,导致后面的代码无法正常执行,而使用异常机制之后,可以对异常情况进行处理,同时后续代码会继续执行,不会中断整个程序
在异常的处理过程中,不要只是简单的输出错误,要尽可能的讲详细的异常信息输出
e.printStackTrace():打印异常的堆栈信息,可以从异常信息的最后一行追踪,寻找自己编写的 java类
异常处理的方式:
1.捕获异常: try{ 代码逻辑 }catch(Exception e){ 异常处理逻辑 }
try{ 代码逻辑 }catch(具体的异常Exception e){ 异常处理逻辑 }catch(具体的异常Exception e)
可以针对每一种具体的异常做相应的更丰富的处理
注意:当使用多重的catch的时候,一定要注意相关异常的顺序,将子类放在最前面的catch,父类放在后面的catch
执行过程中可能存在的情况:
1.正常执行,只执行try中的代码
2.遇到异常情况,会处理try中异常代码之前的逻辑,后面的逻辑不会执行,最后会执行catch中

边栏推荐
- MLX90640 红外热成像仪测温模块开发笔记(完整版)
- 期货开户手续费加一分是主流
- uni-app project summary
- nodeJs--mime模块
- 测试点等同于测试用例吗
- ECMAScript 2022 正式发布,有你了解过的吗?
- Active Disturbance Rejection Control of Substation Inspection Robot Based on Data Drive
- Interview: Briefly describe a project you are involved in
- BGP 第一次实验
- Automatic conversion of Oracle-style implicit joins to ANSI JOINs using jOOQ
猜你喜欢

nodeJs--mime模块

理解分布式系统中的缓存架构(下)

Don't concatenate strings with jOOQ

ELK日志分析系统

测试用例:四步测试设计法

第 45 届ICPC亚洲区域赛(上海)G-Fibonacci

Interview: Briefly describe a project you are involved in

Trie详解

ERROR 1064 (42000) You have an error in your SQL syntax; check the manual that corresponds to your

CVPR 2022 | SharpContour:一种基于轮廓变形 实现高效准确实例分割的边缘细化方法
随机推荐
测试用例:四步测试设计法
from origin ‘null‘ has been blocked by CORS policy Cross origin requests are only supported for
Don't concatenate strings with jOOQ
flyway的快速入门教程
期货公司开户实力经纪业务的规模
GO GOPROXY代理设置
管理基础知识13
What is the function of the JSP Taglib directive?
ImportError cannot import name ‘Mapping‘ from ‘collections‘
Microsoft PC Manager V2.1 beta version officially released
什么是低代码(Low-Code)?低代码适用于哪些场景?
请教一下本网站左下角的动漫人物是怎么做的?
Kunpeng compile and debug plug-in actual combat
ERROR 1064 (42000) You have an error in your SQL syntax; check the manual that corresponds to your
Test Cases: Four-Step Test Design Approach
flv.js解析与使用
swing的Jlist列表滚动条以及增加元素的问题
期货开户手续费的秘密成了透明
go笔记记录——channel
iframe使用