首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调用自己的方法时出错

调用自己的方法时出错
EN

Stack Overflow用户
提问于 2012-10-31 15:13:17
回答 2查看 542关注 0票数 2

所以几个星期前我刚开始使用Java,我正在努力教自己如何创建自己的方法。我编写了一个程序,在编译类"ClassTest“时添加两个数字。以下是错误:

代码语言:javascript
运行
复制
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的代码

代码语言:javascript
运行
复制
import LotsOfMethods.*;

public class ClassTest
{
    public static void main (String[] args)
    {
        int int1 = 5, int2 = 7;
        GetNum(int1, int2);
    }
}

这是ExampleMethod的代码

代码语言:javascript
运行
复制
package LotsOfMethods;

public class ExampleMethod
{
    public static int GetNum(int num1, int num2)
    {
        int result;
        result = num1 + num2;
        return result;
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-31 15:24:06

首先,识别如何在Java中调用方法是很重要的。您需要指定实现该方法的对象以及正在调用的方法的名称。

当你写:

代码语言:javascript
运行
复制
GetNum(int1, int2);

您没有指定将执行GetNum的对象。Java有一些默认行为来处理这种情况:它试图从代码周围的对象上下文中解析方法。因此,Java说,“我找不到属于这个GetNum对象的ClassTest ()方法”,您得到了错误:

代码语言:javascript
运行
复制
H:\Java Things\ClassTest.java:10: error: cannot find symbol
            GetNum(int1, int2);

您想要的方法在类ExampleMethod中。它是一个附加到ExampleMethod类的静态方法,这意味着您不需要实例化副本才能到达那里。相反,您可以这样做:

代码语言:javascript
运行
复制
int result = ExampleMethod.GetNum(int1, int2);

带有静态方法的类提供了围绕这些方法的某种命名空间,因此该类本身提供了足够的数据来解析方法。如果您有一个非静态方法,则需要执行以下操作:

代码语言:javascript
运行
复制
ExampleMethod example = new ExampleMethod();
int result = example.GetNum(int1, int 2);

我希望这能帮到你。

票数 1
EN

Stack Overflow用户

发布于 2012-10-31 15:22:58

可以将GetNum()方法移动到ClassTest类中,也可以将GetNum()调用更改为ExampleMethod.GetNum()。不知道为什么有一个单独的类名为'ExampleMethod';通常,您通常不需要定义一个新的类来包含每个方法的定义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13161116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档