Effective Java2读书笔记-类和接口(五)

第21条:用函数对象表示策略

  这一条其实也没说啥,就是策略模式。碰到这种场景时,定义一个策略接口,然后不同策略子类实现它,主类包含这个接口的引用就可以了。

第22条:优先考虑静态成员类

  嵌套类是指被定义在另一个类的内部的类。嵌套类存在的目的应该只是为它的外围类提供服务。嵌套类包括四种:静态成员类、非静态成员类、匿名类和局部类。除了第一种之外,其他三种都被称为内部类。

  听起来很绕,其实区分还是很简单的。

  首先,如果没有放在方法内部,那就是成员类(根据具体情况决定要不要做成静态的)。放在方法内部,那就是,并且已经有了一个预置的类型可以说明这个类的特性,就是匿名类。局部类极少使用。

匿名类例子:

Thread t = new Thread(new Runnable(){
        @Override
        public void run() {
            // TODO Auto-generated method stub
            
        }
    });

静态内部类例子见第2条中的构建器。

原文地址:https://www.cnblogs.com/ZhangWanFan/p/5298888.html