java知识点

在这里总结些java的知识(以前看的散的很)

实例化过程

一般过程

  1. 实现接口
  2. 类new->实例
  3. 对象传入,使用

匿名类(匿名内部类)

  1. 接口->实现+new
  2. 传入使用
1
2
3
4
5
6
7
8
Thread t=new Thread(new Runnable() {
@Override
public void run() {
System.out.println("hello,dusk!");
}
});

注意new Runnable()的()。是用来初始化抽象类的。
抽象类可以有构造函数,但接口不能有构造函数。

此外注意编译器生成类的.class时会加.synthetic(合成)修饰的类,字段,方法。作用是通过编译器生成的内容只有jvm可以使用从而实现某些java语法。比如内部类会存一个外部类的引用来使用外部类。

lambda

与匿名类同,不过只能针对一个方法的接口,但可以简化过程。