listing16-04_selectionlistener.java_avoidinginterfaces

来自「着几乎所有智能机厂商都将有自己配套的App Store,甚至并非智能手机制造商的」· JAVA_AVOIDINGINTERFACES 代码 · 共 46 行

JAVA_AVOIDINGINTERFACES
46
字号
// Listing 16-4. Using and Avoiding Interfaces at the Same Time with Preprocessing


public interface SelectionListener {
	public void selectionChanged( StringListItem item );
}

public class StringListItem 
extends CustomItem 
{
	//#if SelectionListenerImplementation:defined
		//#= ${classname( SelectionListenerImplementation )} selectionListener;
	//#else
		SelectionListener selectionListener;
	//#endif

	//#if SelectionListenerImplementation:defined
		//#= public void setSelectionListener(
		//#= ${classname( SelectionListenerImplementation )} selectionListener
		//#= ) {
	//#else
		public void setSelectionListener(
			SelectionListener selectionListener
		) {
	//#endif
		this.selectionListener = selectionListener;
	}
	[...]
}


public class Controller
//#if SelectionListenerImplementation:defined
	//# implements CommandListener
//#else
	implements CommandListener, SelectionListener
//#endif
{

	public void selectionChanged( StringListItem item ) {
		//#debug info
		System.out.println( "selection changed: " + item );
	}
	[...]
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?