需要有关方法调用的语法建议

Need syntax advice on method calling

我需要一点帮助来获得调用方法的正确语法。名为 "Die" 的 class 有一个名为 getImage() 的方法。它的工作是构建一个 JLabel 并且在这样做时它应该在一个名为 "PairOfDice."

的 class 中调用 getDie1Image()

getDie1Image() 的工作是 select 六张死脸图像之一,并在调用时 return 它。目前,我收到一条错误消息:"The method getDie1Image() is undefined for the type Die."

是的,这是学校作业,所以我应该只在这一点上寻求帮助。谢谢

这是来自Die.java

的片段
public static void getImage()
   {
       JLabel face1, face2;

       face1 = new JLabel(" ", getDie1Image(), SwingConstants.CENTER);
       face2 = new JLabel(" ", getDie2Image(), SwingConstants.CENTER);

   }

这是来自PairOfDice.java

的片段
public ImageIcon getDie1Image()
{
    int cube = die1.roll(); // returns int value 1-6
    ImageIcon face = null;  
    switch(cube)
    {
    case 1:
        ImageIcon face1 = new ImageIcon("Die_Face_1.png");
        face = face1;
        break;
    case 2:
        ImageIcon face2 = new ImageIcon("Die_Face_2.png");
        face = face2;
        break;
    case 3:
        ImageIcon face3 = new ImageIcon("Die_Face_3.png");
        face = face3;
        break;
    case 4:
        ImageIcon face4 = new ImageIcon("Die_Face_4.png");
        face = face4;
        break;
    case 5:
        ImageIcon face5 = new ImageIcon("Die_Face_5.png");
        face = face5;
        break;
    case 6:
        ImageIcon face6 = new ImageIcon("Die_Face_6.png");
        face = face6;
        default:
    }

    return face;

}

根据您的描述,您的 getDie1Image() 方法似乎是 `PairOfDice' class 的 public 成员函数。这意味着您需要在 class 中创建一个 PairOfDice 对象。您的新代码应如下所示:

public static void getImage()
   {
       PairOfDice pod = new PairOfDice();
       JLabel face1 = new JLabel(" ", pod.getDie1Image(), SwingConstants.CENTER);
       JLabel face2 = new JLabel(" ", pod.getDie2Image(), SwingConstants.CENTER);
   }

请记住,在 Java 中,您只能通过创建 class 的实例并像这样访问其成员来调用其他 class 的 public 成员函数:

SomeClass sc = new SomeClass();
sc.my_pub_member_fxn();

如果 public 方法也是静态的,则不需要创建 class 的实例,因为静态方法属于 class 本身,而不是 class 的实例class。那么您的代码将是:

SomeClass.my_pub_member_fxn();