当前位置:网站首页>内部类、异常简单介绍(第十天)
内部类、异常简单介绍(第十天)
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中

边栏推荐
- 管理基础知识19
- 冒泡排序函数封装
- What is the function of the JSP Taglib directive?
- MInIO入门-03 秒传+大文件分片上传
- 管理基础知识15
- Knowing the inorder traversal of the array and the preorder traversal of the array, return the postorder history array
- H5页面打开微信小程序
- These 4 computer notepad software, you have to try
- unity2D横版游戏教程5-UI
- Day.js 常用方法
猜你喜欢

flowable工作流所有业务概念

Knowing the inorder traversal of the array and the preorder traversal of the array, return the postorder history array

BGP 第一次实验

【CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!)(A~D)】

IDEA如何运行web程序

MInIO入门-03 秒传+大文件分片上传

go笔记——map

PHP to read data from TXT file

DOA从一维阵列传感说起

MLX90640 红外热成像仪测温传感器模块开发笔记(十) 成果展示-红眼睛相机
随机推荐
交返是做日内交易的必要条件
Maxwell 一款简单易上手的实时抓取Mysql数据的软件
业务测试如何避免漏测 ?
期货开户手续费的秘密成了透明
管理基础知识12
MLX90640 红外热成像仪测温模块开发笔记(完整版)
辨析内存函数memset、memcmp、memmove以及memcpy
期货开户手续费加一分是主流
攻防世界-web-Training-WWW-Robots
DCM 中间件家族迎来新成员
ES6对箭头函数的理解
Constructor, this keyword, method overloading, local variables and member variables
ERROR 1819 (HY000) Your password does not satisfy the current policy requirements
flv.js解析与使用
Knowing the inorder traversal of the array and the preorder traversal of the array, return the postorder history array
Day11 shell脚本基础知识
请教一下本网站左下角的动漫人物是怎么做的?
ImportError cannot import name ‘Mapping‘ from ‘collections‘
JS中对事件代理的理解及其应用场景
管理基础知识11