一.参考
1.浅析Java中的final关键字
https://www.cnblogs.com/dolphin0520/p/3736238.html
2. Java内部类详解
https://www.cnblogs.com/dolphin0520/p/3811445.html
二. 相关疑问的解答
1. 匿名内部类的外部类是什么?
是创建该内部类时所在的外部类
实例:
(1)MainActivity源码:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() { // 匿名内部类
@Override
public void onClick(View v) {
Log.d("test", "test");
}
});
}
}
(2) 反编译得到的字节码文件
- 会得到两个class文件, 其中匿名内部类命名为MainActivity$1.class
- MainActivity.class
- MainActivity$1.class