内部类
①内部类的分类:
static 不能修饰外部类,可以修饰内部类
按声明的位置划分
方法外:
1. 成员内部类 再根据是否有static修饰分为
1.1 静态内部类
1.2 非静态内部类
方法内:
局部内部类
匿名内部类
知识点:
①内部类里的方法是可以“访问”外部类的属性的。因为,内部类就相当于外部类一个成员而已,所以也供外部类使用
②静态方法的或者内部类,不能访问非静态的属性和方法。
非静态的能调静态或者非静态。
总体来说内部类分为 1.成员内部类 2.局部内部类
成员内部类,分为静态内部类和非静态内部类。
局部内部类,分为局部内部类和匿名内部类
一。静态内部类: 静态的类,直接用外部的 类名。静态类名。方法名 直接调用就行,static 静态的东西直接调,上图
运行结果,先注释静态内部类非静态方法。
运行结果,注释掉静态内部类静态方法
二。非静态内部类: new 一个外部类的对象,然后到外部类的包,创建内部类 内部类名 名 = 外部类。new 内部类();
运行结果
由于这个看着太麻烦,所以对这个东西进行了优化,使之看着简单。就是在本类中用了一个方法,去返回这个非静态内部类的对象。
运行结果和上面一样。
三。局部内部类
运行结果
④匿名内部类(特殊的局部类)
主要就是一种不熟悉的方法,这并不是new一个接口,而是语法问题
单例模式(懒汉式 和 饿汉式)
1.1懒汉式方法一
1.2懒汉式二
2 懒汉式
以上就是我理解的内部类 和 单例模式,谢谢观看