成员变量与局部变量的区别

成员变量属于类,局部变量属于方法。
成员变量位于 堆内存 中,局部变量位于 栈内存 中。

对象的相等与指向他们的引用相等,两者有什么不同?

对象相等,比较的是对象中存放的内容是否相等。而引用相等,比较的是他们指向内存地址是否相等。

static

static 静态变量存放在 Java 内存区域的 方法区

静态方法块

静态代码块在非静态代码块之前执行(静态代码块 —> 非静态代码块 -> 变量初始化 —> 构造方法)。

  1. // 静态代码块
  2. static {
  3. // ...
  4. }
  5. // 非静态代码块
  6. {
  7. // ...
  8. }

抽象与接口的区别