2016-04-25 76 views
-2

教師提出這樣的問題:的Java方法存根

假設從主方法中調用下面,寫一個方法存根對於這個調用:String course = "band";int year = 2016;printRoster(course,year)

假設下面是從主叫法,寫一個方法存根對於這個調用:String item = enterDescription();

沒有其他信息,我對他想通過寫一個方法存根的意思略有困惑。幫助將不勝感激!

+1

https://en.wikipedia.org/wiki/Method_stub –

+1

我認爲你應該問你的老師他想從你那裏得到什麼......否則,人們會浪費時間去猜測它。 –

回答

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

我懷疑它是前者。

注意,如果方法是從靜態上下文中調用的,那麼它們也應該聲明爲靜態的,除非要實例化將首先調用它們的對象。

0

可能引用方法簽名的方法存根由訪問類型,返回類型,其他關鍵字,方法名稱及其參數組成。例如,對於main方法的方法存根:

public static void main(String[]) 

你的老師要求你使用的代碼片段的上下文確定方法存根將是什麼樣子。舉例來說,如果我有一個像這樣調用方法:

int num = getNum(); 

我就知道:

1)這是主要的方法,這是static裏面,所以getNum方法也必須static

2)getNum方法返回int,因爲它正被分配給該類型的變量。

3)沒有參數傳遞給getNum,所以它沒有參數。

因此,我猜想,對於getNum()方法簽名是:

static int getNum() 

這是因爲我不知道,如果是getNumpublicprivate

希望這可以幫助你理解問題並自行解決。