在java中调用对象的方法

Dav*_*vid 0 java

这是Dice类的相关部分:

import java.util.*;
class Dice 
{ 
    String name ; 
    int x ; 
    int[] sum ; 
Run Code Online (Sandbox Code Playgroud)

...

public Dice (String name) 
    { 
        this.name = name ; 
        this.x = 0 ; 
        this.sum = new int[7] ; 
    }
Run Code Online (Sandbox Code Playgroud)

...

public void roll () 
    {
        this.x = randNum(1, this.sum.length) ; 
        this.sum[x] ++ ;
    }
Run Code Online (Sandbox Code Playgroud)

我在一个名为的单独的类中调用此方法 Risk

class Risk 
{
Run Code Online (Sandbox Code Playgroud)

继承人方法的第一行:

public static void IdiceRoll (Dice o)
Run Code Online (Sandbox Code Playgroud)

所以这个方法需要一个已经作为参数存在的骰子,因此不需要在其中创建一个新的骰子.

最后这里是我试图调用roll的方式o:

o.Dice.roll () ; 
Run Code Online (Sandbox Code Playgroud)

Jon*_*ust 7

在您的其他类中,在某些方法中,您需要获取您尝试使用的类的实例.如果您在另一个包中,则需要import语句.

然后很简单:

// Create an instance of class Dice named dice
Dice dice = new Dice();

// call the method on the instance you just created
dice.roll();
Run Code Online (Sandbox Code Playgroud)

另外,请参阅Sun的文档并尝试示例以获取您的支持.

修改以匹配您的更改:

public class Risk
{
   public static void IdiceRoll(Dice o)
   {
      o.roll();
   }
}
Run Code Online (Sandbox Code Playgroud)