1、类中定义类

(1)当一类中的成员,作为另外一种事物的时候,这个成员就可以定义为内部类.

(2)分类:①成员内部类

②静态内部类

③私有内部类

④局部内部类

⑤匿名内部类

⑥Lambda表达式

2、成员内部类

(1)一个类定义在外部类的成员位置就为成员内部类,具有类的特点,继承,实现...成员内部类具有成员的特点,被成员修饰符修饰。

(2)注意:①在成员内部类中不能定义静态内容,除了静态常量,静态内部类才能任意定义静态内部。

②在成员内部类中可以使用外部类中的成员,包括私有的,静态的。

③在外部类中可以跟随成员内部类的对象使用成员内部类的成员。

③成员内部类的对象性需要通过外部类对象构建  外部类名.内部类类名 引用 = new 外部类().new 内部类()。

⑤跟随内部类的对象使用内部类的成员,注意访问权限。

3、静态内部类:

(1)可以定义静态内容(成员),成员内部类中不可以直接定义静态内容除了静态常量以外。

(2)静态内部类中可以直接使用外部类中静态内容,需要通过外部类对象使用外部类中的成员(因为内部类本身是静态的)。

(3)外部类中可以直接通过内部类对象使用内部类成员,可以通过内部类的类名使用内部类静态内容。

(4)其他类中使用静态内部类中内容:

①静态内部类中的静态内容 : 外部类类名.内部类类名.静态内容

②静态内部类中的成员内容: new 外部类类名.内部类类名();  通过内部类对象调用它成员。

4、私有内部类

只能在当前外部类中通过内部类对象使用。

5、局部内部类

(1)不能被成员修饰符等修饰(public,private,protected,static)。

(2)局部内部类中不能定义静态内容,除了静态常量。

(3)局部内部类中可以直接使用外部类成员,可以使用所在方法中的局部变量。

(4)局部内部类智能在当前所在的方法中通过内部类对象使用,其他位置无法使用。

(5)在局部内部类中使用了所在方法中的局部变量|形参,这个局部变量会默认被final修饰。

(6)jdk8开始默认被final修饰,jdk7及之前需要显示被final修饰

6、匿名内部类

(1)作用: 用来简化没有本身自己作用的实现类 | 子类。

(2)上层 : 接口 | 抽象类。

7、Lambda 表达式

jdk8新增lambda表达式

(1)作用: 为了简化匿名内部类对象

(2)前提: 函数式接口

(3)函数式接口 : 只有一个必须被重写的抽象方法的接口

(4)强制检测是否为函数式接口:注解: @FunctionalInterface

(5)语法:

()->{}

() :  匹配要重写的抽象方法的参数列表

-> : 箭头函数  箭头符号

{} : 要重写的抽象方法的方法体

8、异常:

程序无法正常执行完毕

(1)异常体系:

Throwable

/       \

Error      Exception

(2)Error : 错误,一般由虚拟机生成并脱出,无需要程序猿管理

(3)Exception : 异常

①CheckedException 编译时异常|检查时异常:  发生在程序编译期间程序如果遇到编译时异常没有处理,程序无法正常运行

②RuntimeException 运行时异常 : 发生程序运行期间一般可以通过增强程序健壮性的代码处理 if

(4)注意 :如果程序遇到异常没有处理,无法继续执行

(5)常见的一些运行时异常:

①空指针异常 NullPointerException

②数组越界异常 ArrayIndexOutOfBoundsException

③数组长度负数异常 NegativeArraySizeException

④类型转换异常 ClassCastException

⑤数学异常 ArithmeticException

⑥数字格式异常 NumberFormatException

最新文章

  1. 图解atime/mtime/ctime之间的区别与联系
  2. NTP服务器引起的上行带宽超大
  3. Servlet配置信息
  4. 1、java中常用名字规范
  5. java程序打包成jar 配置文件信息路径
  6. null 与 string.IsNullOrEmpty 区别
  7. java-cef系列视频第一集:从官方代码编译
  8. WCF的传输安全(读书笔记)
  9. mysqldump使用语法
  10. [Js]碰撞运动
  11. Codeforces Bubble Cup 8 - Finals [Online Mirror] D. Tablecity 数学题
  12. SQLite数据库安装与使用
  13. wpf值转换器IValueConverter例子
  14. Asp.net MVC4高级编程学习笔记-模型学习第五课MVC表单和HTML辅助方法20171101
  15. 查找占用资源高的JAVA代码
  16. angular应用容器化部署
  17. Html引入百度富文本编辑器ueditor
  18. 异常 try catch finally return 执行关系 MD
  19. angular5 ng-bootstrap和ngx-bootstrap区别
  20. Samsung_tiny4412(驱动笔记07)----spinlock,semaphore,atomic,mutex,completion,interrupt

热门文章

  1. 【NX二次开发】Block UI 分割线
  2. 【NX二次开发】Block UI 选择节点
  3. 《吃透MQ系列》之扒开Kafka的神秘面纱
  4. 面试常问的Java虚拟机内存模型,看这篇就够了!
  5. 题解 P1850 [NOIP2016 提高组] 换教室
  6. 项目启动报错:Redis health check failed
  7. 在vs中调试关闭之后不关闭页面
  8. CORS跨源资源共享概念及配置(Kubernetes Ingress和Spring Cloud Gateway)
  9. 29、windows下通过zip包方式安装mysql
  10. 1.5Java、万维网以及其他