Effective Java

来源:互联网 发布:手机编程编辑器 编辑:程序博客网 时间:2024/06/05 19:42

读书笔记 仅供参考

嵌套类

嵌套类是指被定义在一个类内部的类,存在的目的应该只是为它的外围类提供服务。
四种嵌套类

  • 静态成员类
  • 非静态成员类
  • 匿名类
  • 局部类

后面三种被称为内部类。

静态成员类

静态成员类可以认为是碰巧被声明在另一个类的内部而已。
静态成员类常见用法是作为公有的辅助类,这个公有是指的外围类的实例。

非静态成员类

从语法上讲,与静态成员类的区别就是没有 static 修饰符。其实有很大不同。
每一个非静态成员类都与一个外围实例相关联,可以调用外围实例的方法,甚至获得外围实例的引用。在没有外围实例的情况下,想创建非静态成员类实例是不可能的。而静态成员类可以独立于外围实例存在。
如果声明成员类不要求访问外围实例,就要始终把 static 放到声明中。

匿名类

在使用的同时被声明和实例化。非常适合创建函数对象。

局部类

在可以声明局部变量的地方,就可以声明局部类。