在intellij中同时向多个java类添加一个方法
必须在测试定义层中向多个java类添加一个新方法。在intellij中同时向多个java类添加一个方法,java,selenium,intellij-idea,Java,Selenium,Intellij Idea,必须在测试定义层中向多个java类添加一个新方法。 包中所有可用的类都应该使用相同的方法,在intellij IDE中是否有任何方法可以同时执行所有操作。您可以使用该类的静态导入,并在该包中的所有类中使用该类中的静态方法 假设您有一个包ABCD,其中包含类a、B、C、D和类Z的静态方法m1,将在包ABCD的类中使用 package Z1; Class Z { static void m1() { .... } } package ABCD; import static Z1.Z.*; C
包中所有可用的类都应该使用相同的方法,在intellij IDE中是否有任何方法可以同时执行所有操作。您可以使用该类的静态导入,并在该包中的所有类中使用该类中的静态方法 假设您有一个包ABCD,其中包含类a、B、C、D和类Z的静态方法m1,将在包ABCD的类中使用
package Z1;
Class Z
{
static void m1()
{
....
}
}
package ABCD;
import static Z1.Z.*;
Class A
{
void m2()
{
m1();
}
}
Class B
{
void m3()
{
m1();
}
}
Class C
{
void m3()
{
m1();
}
}
您也可以借助继承来实现同样的目标。是否可以为类创建抽象基类来解决您的问题?这听起来像是一个需要专门设计的场景(该包中的每个类都应该使用您需要的方法继承或扩展基类)这不是像IntelliJ这样的IDE应该或将会提供的功能。使用一个接口和一个默认方法。虽然您将
m1()
的代码放在一个位置,这样它就没有了,但继承方式要好得多。是的,我也同意继承也是一个解决方案,但即使在这种情况下,代码也在一个位置上。在你的方法中,你必须为每个只调用另一个方法而不做任何事情的类添加一个“伪”方法。继承方式是正确的,而且更干净。感谢您的澄清。我明白你的意思,但我不认为每次都需要一个虚拟方法,假设还有一个不需要的D类,我们不需要使用它。根据所提出的问题,它并没有陈述任何概念上非常重要的类之间的IS-A关系。仅仅因为使用方法,使用继承可能是不正确的。如果形成了一种关系,那么也可以考虑继承。