第二十条 用函数对象表示策略

函数指针(JAVA的函数指针,是指使用对象的引用来作为参数,传递给另一个对象的方法)主要用来实现策略模式,为了在JAVA中实现这种模式,要申明一个接口来表示该策略,并为每个具体策略申明一个实现了该接口的类。

如果这个策略只被执行一次,使用匿名类,如果重复使用,则通常实现为私有的静态成员类,并通过共有的静态final域导出(最后一个例子),其类型为该策略接口。

第二十一条 优先考虑静态成员类

嵌套类主要有四种:静态成员类,非静态成员类,匿名类,局部类

静态成员类,一般用法是作为公有的辅助类,比如Operation是Calculator的公有静态成员类,然后Calculator类的客户端可以通过,Calculator.Operation.PLUS来执行加操作等。

非静态成员类,它被创建时,内部类对象会秘密隐含一个外围类的对象的关联,通过这个可以访问外部类的所有成员。如果声明成员类不要求访问外围实例,就始终要把static放在它的声明中

05-11 17:06