1、新建一个java类,SpaceShipDelegation,如下:
package reusing;/** * Created by caoxiaohong on 16/11/20. * 测试idea可以手动选择生成代理 * */public class SpaceShipDelegation {}
2、在SpaceShipDelegation类上面创建一个要被代理的类,如下:
class SpaceShipControls{ void up(int i){} void down(int i){} void left(int i){} void right(int i){} void forward(int i){} void back(int i){}}
3、在类SpaceShipDelegation创建一个代理类的变量,如下:
public class SpaceShipDelegation { private SpaceShipControls controls=new SpaceShipControls();}
4、在SpaceShipDelegation类内,在声明变量controls分号的后面,右键鼠标,显示如下:
选择Generate,后显示如下:
选择:Delegate Methods,然后显示如下:
选择ok,显示如下:
选择ok,显示如下:
这样就自动生成了java类的代理,也完成了idea自动生成java代理的过程。
sum:整体代码如下:
package reusing;/** * Created by caoxiaohong on 16/11/20. * 测试idea可以手动选择生成代理 * */class SpaceShipControls{ void up(int i){} void down(int i){} void left(int i){} void right(int i){} void forward(int i){} void back(int i){}}public class SpaceShipDelegation { private SpaceShipControls controls=new SpaceShipControls(); public void up(int i) { controls.up(i); } public void right(int i) { controls.right(i); } public void back(int i) { controls.back(i); } public void down(int i) { controls.down(i); } public void forward(int i) { controls.forward(i); } public void left(int i) { controls.left(i); } /*public static void main(String[] args){ }*/}