【问题标题】:Generate Code with redirection IntelliJ Idea 15使用重定向 IntelliJ Idea 15 生成代码
【发布时间】:2016-06-08 17:32:41
【问题描述】:

我有这样的课程:

public class BukkitPlayerWrapper implements Player {
    private Player p;

    public BukkitPlayerWrapper(Player p) {
        this.p = p;
    }
}

但是Player接口有很多方法,在intelliJ中有没有办法生成这样的代码?

@Override
public String getDisplayName() {
    return p.getDisplayName();
}

@Override
public void setDisplayName(String s) {
    p.setDisplayName(s);
}

因为手写需要几个小时。

【问题讨论】:

  • Alt+Insert 可能吗?不确定它是否适用于继承的值。
  • 我最终为它编写了一个程序,但问题仍然在于如何在 intelliJ 中执行它我看到了一些与代表团有关的东西,但它不想生成方法。
  • 如果我可能会问,为什么需要在其实现中创建 Player 对象的实例?
  • 就像@BrandonLaidig 提到的那样,您应该可以执行Alt+Insert,然后选择Delegate Method...,然后选择成员变量

标签: java intellij-idea code-generation intellij-15


【解决方案1】:

我不确定这就是你要找的东西,但如果你有一个界面,例如

public interface ExampleInterface {

    void method1();

    void method2();
}

然后你创建了一个实现接口并有一个成员变量的类:

public class SomeClass implements ExampleInterface {
    public ExampleInterface exampleInterface;

}

你可以把插入符号放在类里面的某个地方,然后点击Alt+Insert,它应该会给你这个上下文菜单:


然后你点击Delegate Methods...,你会得到这个:

选择目标成员变量


最后是你想要委托的方法,你最终会得到类似这样的东西:

public class SomeClass implements ExampleInterface {
    public ExampleInterface exampleInterface;

    @Override
    public void method1() {
        exampleInterface.method1();
    }

    @Override
    public void method2() {
        exampleInterface.method2();
    }
}

希望这会有所帮助(:

【讨论】:

    猜你喜欢
    • 2015-10-08
    • 2014-07-04
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 2016-04-29
    • 2014-10-20
    相关资源
    最近更新 更多