我是eclipse和Java的新手。请在下面找到代码。我在eclipse中创建了maven项目。但是我无法从另一个包中的类调用一个方法。请找到代码。但是这段代码可以工作netbeans很好。
FILE 1 :
package config;
public class ActionKeywords {
public static void helo( )
{ ............
}
}
FILE 2 with another package:
package executionEngine;
import config.ActionKeywords;
public class driver{
ActionKeywords.helo(); /////////////ERROR //////////
}
答案 0 :(得分:2)
当您尝试调用stataic方法时,您不需要对象实例,而是直接调用该方法,如:
public void myMethod() {
ActionKeywords.helo();
}
在此处阅读有关静态字段和方法的更多信息:https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html
答案 1 :(得分:1)
替换它:
obj_Actionkeywords.helo();
用这个:
Actionkeywords.helo();
还将此调用放入方法中!
public static void main (String[] args) {
Actionkeywords.helo();
}
答案 2 :(得分:0)
由于helo
为static
,因此最好使用静态修饰符调用它:
ActionKeywords.helo();
而不是使用对象引用。
答案 3 :(得分:0)
对象引用名称是obj。为什么使用obj_Actionkeywords进行调用? 作为一个静态方法,你可以使用类名本身。
ActionKeywords obj = new ActionKeywords(); obj_Actionkeywords.helo();
答案 4 :(得分:0)
您的电话obj_Actionkeywords.helo();
错误。
它应该是obj.helo();
或者因为helo是静态的,它也可以是Actionkeywords.helo();
。顺便说一句,这应该在类驱动程序的某些方法中。 首先尝试阅读一些java教程:)
答案 5 :(得分:0)
helo()
是ActionKeywords
类的静态方法。
所有静态方法都可以在不创建对象的情况下访问,我们可以通过<class-name>.methodName();
所以你可以试试
ActionKeywords.helo();
答案 6 :(得分:0)
Eclipse具有自动完成功能。因此,在Eclipse IDE中,键入&#34; ActionKeywords。&#34;等一下你自动列出了helo()方法吗?如果不删除import语句并尝试键入&#34; ActionKeywords&#34;。在ActionKeywords上突出显示鼠标,它应该使用import语句提示您。相应地导入并键入&#34; .helo()&#34;部分。由于代码在Netbeans上工作正常,我能想到的唯一问题是你的import语句。