当前位置:网站首页>内部类、异常简单介绍(第十天)
内部类、异常简单介绍(第十天)
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中
边栏推荐
- JS中清空数组的方法
- How does JSP use the page command to make the JSP file support Chinese encoding?
- 管理基础知识19
- Detailed explanation of JSP request object function
- 期货开户调整交易所保证金标准
- Identify memory functions memset, memcmp, memmove, and memcpy
- Constructor, this keyword, method overloading, local variables and member variables
- How to use the go language standard library fmt package
- Business test how to avoid missing?
- swing的Jlist列表滚动条以及增加元素的问题
猜你喜欢
业务测试如何避免漏测 ?
期货公司开户实力经纪业务的规模
实现删除-一个字符串中的指定字母,如:字符串“abcd”,删除其中的”a”字母,剩余”bcd”,也可以传递多个需要删除的字符,传递”ab”也可以做到删除”ab”,剩余”cd”。
冒泡排序函数封装
unity2D横版游戏教程5-UI
These 4 computer notepad software, you have to try
uni-app project summary
PHP to read data from TXT file
go mode tidy出现报错go warning “all“ matched no packages
nodeJs--mime module
随机推荐
Markdown (CSDN) MD编辑器(四)- 漂亮表格(表格背景色、跨行、跨列)
Web开发
[HCIP] BGP Small Experiment (Federation, Optimization)
go笔记——map
Active Disturbance Rejection Control of Substation Inspection Robot Based on Data Drive
JS中的防抖和节流
测试点等同于测试用例吗
Kotlin协程:创建、启动、挂起、恢复
管理基础知识13
flowable工作流所有业务概念
【目标检测】FCOS: Fully Convolutional One-Stage Object Detection
What is Low-Code?What scenarios is low code suitable for?
Automatic conversion of Oracle-style implicit joins to ANSI JOINs using jOOQ
Redis 相关问题
21.数据增强
严格模式,use strict
CVPR 2022 | SharpContour:一种基于轮廓变形 实现高效准确实例分割的边缘细化方法
管理基础知识10
管理基础知识11
Identify memory functions memset, memcmp, memmove, and memcpy