在这里总结些java的知识(以前看的散的很)
实例化过程
一般过程
- 实现接口
- 类new->实例
- 对象传入,使用
匿名类(匿名内部类)
- 接口->实现+new
- 传入使用
|
|
注意new Runnable()的()。是用来初始化抽象类的。
抽象类可以有构造函数,但接口不能有构造函数。
此外注意编译器生成类的.class时会加.synthetic(合成)修饰的类,字段,方法。作用是通过编译器生成的内容只有jvm可以使用从而实现某些java语法。比如内部类会存一个外部类的引用来使用外部类。
lambda
与匿名类同,不过只能针对一个方法的接口,但可以简化过程。