java - 调用自己的方法时出错

标签 java methods

所以几周前我才开始使用 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/

相关文章:

java - Neo4j REST 服务在 WebLogic 中部署时无法保存

Java静态字段的使用

java - 服务 android 中的 android.os.deadobjectexception

Java 递归 - 这行得通吗?

java - 在 JMC 控制台中打开 jfr 文件时出现错误

java - EclipseLink JPA CriteriaQuery 正在创建错误的 SQL 查询

Ruby编码练习解决方案(rubymonk)

python - 装饰 Python 类方法的最佳方式是什么?

Java:从方法返回的最佳实践(通过 if 语句)

java - 如何将 MyPojo 对象作为对 map 方法的引用传递?