内部类

/*
*Java支持在一个类中定义另一个类,这样的类称为内部类,而包含内部类的类称为内部类的外嵌类
*/
重要关系:
/*
*1.内部类的外嵌类在内部类中仍然有效,内部类的方法也可以外嵌类的方法
*2.内部类的类体中不可以声明变量类变量和类方法(static)
*3.内部类仅供他的外嵌类使用。其他类不可以用某个类的内部类
*/ /*
*字节码文件:外嵌类$内部类名.class
*/ /*
*内部类可以被修饰为static,但是内部类不能操作外嵌类的实例成员变量
*/

匿名类

  和子类有关的异常类

java允许我们直接使用一个类的子类体创建一个子类对象,也就是说创建子类对象时,除了使用父类的构造方法外还有类体,此类体被认为是一个子类去掉类声明后的类体,称作:匿名类

new Bank{
匿名类的类体
};

    特点:

/*
*匿名类可以继承父类的方法也可以重写父类的方法
*使用匿名类时,必然是在某个类中直接用匿名类创建对象,因此匿名类一定是内部类
*匿名类可以访问外嵌类的成员变量和方法,匿名类的类体中不可以声明static成员变量/方法
*由于匿名类是一个子类,但没有类名,所以在用匿名类创建对象的时候,要直接使用父类的构造方法
*/

  和接口有关的匿名类

/*
假设Computable是一个接口,那么java允许直接用接口名和一个类体创建一个匿名对象,此类被认为是实现了Computable接口的类去掉声明后的类体,称作匿名类。
*/ new Computable{
实现接口的匿名类的类体
}

异常类

所谓异常就是运行时可能出现的一些错误,例如试图打开一个根本不存在的文件,异常处理将会改变程序的控制流程,让程序有机会对错误做出处理

  try......catch语句

try{

        包含可能发生的异常语句

}catch(ExceptionSubClass1 e){
.......
}
catch(ExceptionSubClass2 e){
.......
}
// 处理异常的时候可以自己try.....catch   也可以throw到上一层处理
public  String getMessage();
public String toString();
public void printStackTrace(); //打印异常信息
 

  自定义异常类

继承Exception做父类
写出构造方法

断言:

/*
断言:不准备通过异常来捕获错误,例如,当发生某个错误时,要求程序必须停止执行。
*/ 语法格式:
assert booleanExpression
assert booleanExpression:messageException; 例如,对应断言语句:
assert number >=0
//如果表达式number >=0的值为true,程序继续执行,否则程序立刻结束执行。
java  -ea  mainClass

小结:

Java基础知识笔记第七章:内部类和异常类的更多相关文章

  1. Java基础知识笔记第四章:类和对象

      编程语言的几个发展阶段 面向机器语言 面向过程语言 面向对象语言:封装.继承.多态 类 类声明 class Person{ ....... } class 植物{ ....... } 类体 类使用 ...

  2. Java基础知识笔记(七:接口、变量作用域和参数传递)

    一.接口 Java语言不允许一个子类拥有多个直接父类,即任何子类只能有一个直接父类.但允许一个类实现多个接口,即在定义类的接口名称列表中可以包含1个或多个接口名称,从而实现多重继承的特性.接口的定义格 ...

  3. Java基础知识笔记第六章:接口

    接口 /* 使用关键字interface来定义一个接口.接口的定义和类的定义很相似,分为接口声明和接口体 */ interface Printable{ final int max=100; void ...

  4. Java基础知识笔记第三章:运算符表达式语句

    算术运算符与表达式 操作符 描述 例子 + 加法 - 相加运算符两侧的值 A + B 等于 30 - 减法 - 左操作数减去右操作数 A – B 等于 -10 * 乘法 - 相乘操作符两侧的值 A * ...

  5. Java基础知识笔记第五章:子类与继承

    子类与父类 子类 class 子类名 extends 父类名{ ....... } 类的树形结构 子类的继承性 子类和父类在同一包中的继承性 子类继承了父类不是private的成员属性和成员方法   ...

  6. Java基础知识笔记第八章:常用的实体类

    String类 String类位于lang包下 java会默认导入lang包下的类,所以可以直接使用,注意String是final类所以不能有子类 构造String对象: 常量对象:String常量也 ...

  7. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  8. java基础知识-笔记整理

    1.查看已安装jdk文件路径 CMD输入java -verbose.   2.java学习提升路线 java学习视屏地址: http://www.icoolxue.com/album/show/38 ...

  9. Java基础知识笔记(一:修饰词、向量、哈希表)

    一.Java语言的特点(养成经常查看Java在线帮助文档的习惯) (1)简单性:Java语言是在C和C++计算机语言的基础上进行简化和改进的一种新型计算机语言.它去掉了C和C++最难正确应用的指针和最 ...

随机推荐

  1. DFC-3C和DFC-3B的区别和注意事项

    1.Product numbers:WS-F6K-DFC(=)WS-F6K-DFC3A(=)WS-F6K-DFC3B(=)WS-F6K-DFC3BXL(=)WS-F6K-DFC3C(=)WS-F6K- ...

  2. linux 下部署web 程序

    linux 下部署web 程序 1. 创建ucenter用户 一般情况下,发布应用程序都不是使用root用户的,需要创建一个普通用户来发布程序: 创建ucenter用户: useradd -d /uc ...

  3. jQuery+PHP+Ajax动态数字统计展示实例

    jQuery+PHP+Ajax实现的一款动态数字统计展示实例,本例是在页面上动态展示了当前在线用户数,当然了,你可以应用到其他更多场景中. 首先我们在#number放置要统计的数字: <div ...

  4. Airflow 操作知识总结(完善中)

    airflow默认以utc时区运行,如果需要计算正确的时间,需要把时间进行时区转换,核心代码如下 #将本地时间转换为utc时间,再设置为start_date tz = pytz.timezone('A ...

  5. Bug搬运工-CSCvn51483:AP datasheet should contain info if the AP contains or not temperature sensor

    目前在老一些的思科AP上,应该都没有温度传感器的功能(例如AP1600,wave 1 AP1700...),但是在思科官方没有明确的文档去说明这个问题. 在Outdoor AP(室外AP,例如AP15 ...

  6. Spring基础篇——通过Java注解和XML配置装配bean(转载)

      作者:陈本布衣 出处:http://www.cnblogs.com/chenbenbuyi 本文版权归作者和博客园共有,欢迎转载分享,但必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留 ...

  7. IIS-代理

    http://192.168.11.3:8083/java   访问  http://192.168.11.3:8089 http://192.168.11.3:8083/?id=1 访问http:/ ...

  8. C语言:根据以下公式计算s,s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+n) -在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,

    //根据一下公式计算s,并将计算结果作为函数返回值,n通过形参传入.s=1+1/(1+2)+1/(1+2+3)+...+1/(1+2+3+...+n) #include <stdio.h> ...

  9. win10中,vscode安装go插件排雷指南

    最近学习go,想着使用强大的vscode编写go,在安装go插件过程中,遇到了很多问题.下面记录解决方案. 1)win10环境,安装go,vscode,git 配置GOPATH环境变量,在我的电脑-& ...

  10. 基础_04_list and tuple

    一.list(列表) list是Python里的一种容器,里面可以存储多个任何类型的数据,长度也可以任意伸缩,可以像C语言中数组那样,按照索引下标获取对应的值.但数组是一个存储多个固定类型变量的连续内 ...