当前位置:网站首页>内部类、异常简单介绍(第十天)
内部类、异常简单介绍(第十天)
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中
边栏推荐
- Day11 shell脚本基础知识
- GateWay实现负载均衡
- Day11 Shell scripting basics
- Knowing the inorder traversal of the array and the preorder traversal of the array, return the postorder history array
- Day.js 常用方法
- How to use the go language standard library fmt package
- Kunpeng compile and debug plug-in actual combat
- Redis - message publish and subscribe
- ImportError cannot import name ‘Mapping‘ from ‘collections‘
- Realize deletion - a specified letter in a string, such as: the string "abcd", delete the "a" letter in it, the remaining "bcd", you can also pass multiple characters to be deleted, and pass "ab" can
猜你喜欢
随机推荐
技术分享 | 接口测试中如何使用Json 来进行数据交互 ?
GateWay实现负载均衡
鲲鹏编译调试插件实战
冒泡排序函数封装
期货开户交返是行内公开的秘密
Looking back at 5 recessionary times in history: How might this time be different?
简单工厂模式
渗透测试与攻防对抗——渗透测试基础
AXI4协议介绍
好的期货公司开户让人省心省钱
管理基础知识21
Trie详解
Microsoft PC Manager V2.1 beta version officially released
Day11 shell脚本基础知识
Multidimensional Correlation Time Series Modeling Method Based on Screening Partial Least Squares Regression of Correlation Variables
MYSQL(基本篇)——一篇文章带你走进MYSQL的奇妙世界
Automatic conversion of Oracle-style implicit joins to ANSI JOINs using jOOQ
nodeJs--mime module
Mapped Statements collection does not contain value for的解决方法
Realize deletion - a specified letter in a string, such as: the string "abcd", delete the "a" letter in it, the remaining "bcd", you can also pass multiple characters to be deleted, and pass "ab" can