Methods 需要关于方法调用的语法建议吗

Methods 需要关于方法调用的语法建议吗,methods,constructor,jlabel,calling-convention,Methods,Constructor,Jlabel,Calling Convention,我需要一些帮助来获得调用方法的正确语法。名为“Die”的类有一个名为getImage()的方法。它的工作是构造一个JLabel,在这样做时,它应该在一个名为“PairOfDice”的类中调用getDie1Image() getDie1Image()的任务是从六个模具面图像中选择一个,并在调用时返回它。目前,我收到一条错误消息:“类型Die的getDie1Image()方法未定义。” 是的,这是学校作业,所以我只能在这一点上寻求帮助。谢谢 这里是Die.java的片段 public static

我需要一些帮助来获得调用方法的正确语法。名为“Die”的类有一个名为getImage()的方法。它的工作是构造一个JLabel,在这样做时,它应该在一个名为“PairOfDice”的类中调用getDie1Image()

getDie1Image()的任务是从六个模具面图像中选择一个,并在调用时返回它。目前,我收到一条错误消息:“类型Die的getDie1Image()方法未定义。”

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

这里是Die.java的片段

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

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

   }
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;

}
以下是PairOfDice.java中的片段

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

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

   }
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'类的公共成员函数。这意味着您需要在类中创建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中,只能通过创建其他类的实例并访问其成员来调用该类的公共成员函数,如下所示:

SomeClass sc = new SomeClass();
sc.my_pub_member_fxn();
如果public方法也是静态的,那么就不需要创建类的实例,因为静态方法属于类本身,而不是类的实例。那么您的代码将是:

SomeClass.my_pub_member_fxn();