【问题标题】:Intellij Idea How to add interface implementation to classes?Intellij Idea 如何为类添加接口实现?
【发布时间】:2013-01-18 14:46:39
【问题描述】:

例如,我有很多类而不是实现我的接口。在接口中添加新方法定义后,如何为所有类快速添加空白接口实现?

【问题讨论】:

    标签: intellij-idea editor code-completion automated-refactoring


    【解决方案1】:

    Alt+Enter在界面中新建方法,实现方法

    Enter,将显示实现类列表,使用Shift+箭头键或按Ctrl+A 选择所有这些,然后再次按 Enter 确认选择。存根实现将添加到所有选定的类中。

    【讨论】:

      【解决方案2】:

      我认为你能做的最好的事情来自他们的code generation tutorial,尤其是通过使用

      Ctrl+O

      在实现类中。否则我不知道生成整个类的方法。

      【讨论】:

      • 这就是问题所在。我知道我可以完成所有的分类和插入实现。但我希望能够从接口实现所有类的方法。
      • @Jack,对。我认为这是不可能的,这是最接近的选择。
      【解决方案3】:

      您可以通过将插入符号移到接口名称并按选项+return来生成接口的实现(在Mac上) 或 ALT+Enter(在 PC 上),然后将鼠标悬停在 Implement interface 上并按 return/Enter

      请注意,我的插入符号看不到,但它位于 Shapeha 之间

      IntelliJ 然后会提示您输入类名以及要在实现中包含哪些方法,然后生成一个类,如下所示:

      【讨论】:

        【解决方案4】:

        在 IntellyJ IDEA 12 中,您可以使用 Push Members Down 对话框:

        Refactor -> Pull Members Down... 
        

        然后选择要推送到子类的方法并点击“重构”: http://clip2net.com/s/i6DK41

        请注意,它不会按基类生成存根方法 - 它只是按原样移动它。 所以你需要自己在父(根)类中实现存根,例如:

        public boolean getRequiredDatabaseNameWhenPartitioned() {
          return true;
        }
        

        然后使用“下推成员”,重构,最后手动抽象父类的方法

        【讨论】:

          猜你喜欢
          • 2011-06-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-12-14
          • 1970-01-01
          • 2011-07-14
          相关资源
          最近更新 更多