Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在intellij中同时向多个java类添加一个方法_Java_Selenium_Intellij Idea - Fatal编程技术网

在intellij中同时向多个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

必须在测试定义层中向多个java类添加一个新方法。
包中所有可用的类都应该使用相同的方法,在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关系。仅仅因为使用方法,使用继承可能是不正确的。如果形成了一种关系,那么也可以考虑继承。