Mag*_*lex 5 java intellij-idea
IntelliJ IDEA 有没有办法搜索不重写某个方法的类?
假设我有这些课程:
public abstract class BaseClass {
public void methodThatMightBeOverridden() {
}
}
public class ConcreteClassWithOverriddenMethod extends BaseClass {
@Override
public void methodThatMightBeOverridden() {
super.methodThatMightBeOverridden();
}
}
public class ConcreteClassWithoutOverriddenMethod extends BaseClass {
}
public class AnotherConcreteClassWithoutOverriddenMethod extends ConcreteClassWithoutOverriddenMethod {
}
Run Code Online (Sandbox Code Playgroud)
是否有可能在 IntelliJ 中找到所有BaseClass不覆盖的扩展methodThatMightBeOverridden()?请注意,我需要找到类,即使它们不直接实现BaseClass. 在上面的示例中,这将是ConcreteClassWithoutOverriddenMethod和AnotherConcreteClassWithoutOverriddenMethod。
我知道如何使用类型层次结构来查找方法被重写的类,但还没有找到相反的方法。
我尝试用谷歌搜索它但没有任何运气。另外,这是一个简化的示例。在实际代码中,我们有许多子类的实现,其中一些子类没有扩展该类。
我找到了对此的支持。通过站在方法上并按Ctrl+ Shift+ H(或菜单中的“导航” -> “方法层次结构”),您可以清楚地看到所有重写方法:
在这里,我将所有四个类放入一个名为Test如下的类中,因此类名称后面有“in Test”文本。该图非常不言自明,但减号意味着该类不会覆盖该方法。
package test;
public class Test {
public abstract class BaseClass {
public void methodThatMightBeOverridden() {
}
}
public class ConcreteClassWithOverriddenMethod extends BaseClass {
@Override
public void methodThatMightBeOverridden() {
super.methodThatMightBeOverridden();
}
}
public class ConcreteClassWithoutOverriddenMethod extends BaseClass {
}
public class AnotherConcreteClassWithoutOverriddenMethod extends ConcreteClassWithoutOverriddenMethod {
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
368 次 |
| 最近记录: |