Java方法存根

时间:2016-04-25 19:33:16

标签: java methods stub

老师提出了这些问题:

  

假设从main方法调用以下内容,为此调用编写方法存根:String course = "band";int year = 2016;printRoster(course,year)

     

假设从main方法调用以下内容,为此调用编写方法存根:String item = enterDescription();

没有其他信息,我对他想要的东西感到有些困惑,并且通过编写方法存根意味着什么。非常感谢帮助!

2 个答案:

答案 0 :(得分:0)

我认为他意味着您需要为代码中的调用编写方法存根:

String course = "band";
int year = 2016;
printRoster(course, year);

和...

String item = enterDescription();

...因此

private void printRoster(String course, int year) {
    // For example...
    System.out.println("Course: " + course);
    System.out.println("Year: " + year);
}

private String enterDescription() {
    // Mocked return
    return "foobar";
}

除非他的意思是代码本身,否则就是......

private void doSomething() {
    String course = "band";
    int year = 2016;
    printRoster(course, year);
}

private void doSomethingElse() {
    String item = enterDescription();
}

我怀疑它是前者。

并且NB,如果方法是从静态上下文调用的,那么它们也应该被声明为静态,除非你要实例化首先调用它们的对象。

答案 1 :(得分:0)

方法存根(可能是指方法签名)由访问类型,返回类型,其他关键字,方法名称及其参数组成。例如,main方法的方法存根是:

public static void main(String[])

您的老师要求您使用代码段的上下文来确定方法存根的外观。例如,如果我有一个这样的方法:

int num = getNum();

然后我知道:

1)这是在主方法内部,static,因此getNum方法也必须是static

2)getNum方法返回int,因为它被分配给该类型的变量。

3)没有参数传递给getNum,因此它没有参数。

因此,我猜想getNum()的方法签名是:

static int getNum()

这是因为我不知道getNumpublicprivate等等。

希望这有助于您了解问题并自行解决。