内部类
static内部类属于外部类的class内,而非静态内部类属于外部类的对象内。因为在其内所以访问范围等同于其内的方法,互相之间private可访问,原因就是互相提供静态方法同时内部对象含有外部的引用(深入字节码)
OutClassTest类有个叫InnerClass的内部类(非静态)
俩个类的外部使用:
OutClassTest oc1 = new OutClassTest();
OutClassTest.InnerClass no_static_inner = oc1.new InnerClass();
俩个类的内部使用:
InnerClass innerObj = new InnerClass();
sch就是School的一个对象。
假如School是内部静态类:
Student.School sch = new Student.School();
https://blog.csdn.net/Hacker_ZhiDian/article/details/82193100
传统的对象创建过程:
- 类实现接口
- new类创建对象
- 对象传入目标使用
可传递:数据,执行代码(任意多个函数)
匿名函数方式:
- 实现接口同时new
- 对象传入
可传递:执行代码(任意多个函数)
lambda方式:
与匿名类相同
但过程省略多
可传递:执行代码(仅一个函数)