所以几周前我才开始使用 Java,我正在尝试自学如何制作自己的方法。我编写了一个程序,在编译“ClassTest”类时添加两个数字。这是错误:
H:\Java Things\ClassTest.java:10: error: cannot find symbol
GetNum(int1, int2);
^
symbol: method GetNum(int,int)
location: class ClassTest
1 error
Process completed.
这是ClassTest的代码:
import LotsOfMethods.*;
public class ClassTest
{
public static void main (String[] args)
{
int int1 = 5, int2 = 7;
GetNum(int1, int2);
}
}
下面是ExampleMethod的代码:
package LotsOfMethods;
public class ExampleMethod
{
public static int GetNum(int num1, int num2)
{
int result;
result = num1 + num2;
return result;
}
}
最佳答案
首先,了解如何在 Java 中调用方法很重要。您需要指定将实现该方法的对象,以及您正在调用的方法的名称。
当你写的时候:
GetNum(int1, int2);
您没有指定将执行 GetNum 的对象。 Java 有一些默认行为来处理这种情况:它尝试从代码周围的对象上下文中解析方法。所以 Java 说,“我找不到属于这个 ClassTest 对象的 GetNum() 方法”,你得到了错误:
H:\Java Things\ClassTest.java:10: error: cannot find symbol
GetNum(int1, int2);
您想要的方法在类 ExampleMethod 中。它是附加到 ExampleMethod 类的静态方法,这意味着您无需实例化副本即可到达那里。相反,您可以:
int result = ExampleMethod.GetNum(int1, int2);
具有静态方法的类在这些方法周围提供了一种命名空间,因此该类本身提供了足够的数据来解析您的方法。如果你有一个非静态方法,你需要做类似的事情:
ExampleMethod example = new ExampleMethod();
int result = example.GetNum(int1, int 2);
希望对您有所帮助。
关于java - 调用自己的方法时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13161116/