****编辑**对于每个人都这么称之为
FunctionTestTest.numberCheck(userNumber);
我在这里发帖之前已经尝试了很多次但它没有用。
人们倒下了一个他们甚至无法回答的问题,很棒......
在另一个项目上,我正在努力,我无法从另一个类调用函数。一直试图修复它。决定抛出几行代码&尝试从另一个类调用一个函数,以确保我的主项目中没有未被注意的语法错误。
任何人都可以看到问题在这里吗?
返回此错误:
cannot find the symbol
symbol: class FunctionTestTest
location: class FunctionTest
...
public class FunctionTest{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
int userNumber = 0;
System.out.println("Please enter a number between 1 - 10");
userNumber = input.nextInt();
FunctionTestTest ft = new FunctionTestTest();
FunctionTestTest.numberCheck(userNumber);
}
}
和..
public class FunctionTestTest{
public static void main(String[] args){
}
public static void numberCheck(int num){
if (num == 1){
System.out.println("function works");
}
}
}
答案 0 :(得分:1)
导致错误是因为您可能正在使用其他程序包中的类。在这种情况下,您必须先使用它进行导入。
如果您使用的是任何IDE,则应该有一个热键来解决您的问题。
也...
您无需创建对象实例来访问某些类的静态方法。只需使用:
FunctionTestTest.numberCheck(userNumber);
不推荐,但您可以在对象实例上调用静态方法,如:
new FunctionTestTest().numberCheck(userNumber);
答案 1 :(得分:0)
这里你正在调用其他类构造函数,并且不在那里:
FunctionTestTest ft = new FunctionTestTest(userNumber);
还检查FunctionTestTest类是否存在其他包然后导入
答案 2 :(得分:0)
英尺(userNumber);
您的方法调用不正确。
您可能需要ft.numberCheck(userNumber)
或FunctionTestTest.numberCheck(userNumber)
。后者是首选,因为你正在引入一个静态成员。
如果是静态方法,您只需将其命名为:
ClassName.methodName();
没有必要像对象一样使用静态方法实例化对象。
示例:强>
public class MyClass{
public static void myMethod(){
//do whatever..
}
}
public class OtherClass{
public static void main(String[] args){
MyClass.myMethod(); //invoke a static method from another class
}
}