簡體   English   中英

Scanner類的nextInt方法是Java中的訪問器還是更改器?

[英]Is the nextInt method of the Scanner class an accessor or a mutator in Java?

我的教科書將mutator方法定義為一種修改其操作對象的方法。

並且,它將訪問器方法定義為一種在不更改對象的情況下向對象查詢某些信息的方法。

我是否正確地說nextInt是訪問器方法?

我的理由是nextInt不會修改其操作的對象。 如果我創建了一個名為in的Scanner對象,則當我編寫“ int a = in.nextInt();”時, 它不會修改實際的Scanner對象。 取而代之的是,它用作一種getter方法來為a賦值。

實際上,從javadoc:

public int nextInt(int基數)

將輸入的下一個標記掃描為int。 如果下一個標記不能轉換為有效的int值,則此方法將引發InputMismatchException,如下所述。 如果翻譯成功,則掃描程序將前進經過匹配的輸入。

...

這表明調用該方法后,掃描儀的狀態已更改。 因此,這使nextInt成為了變種器。

因此, nextInt既是變量,又是訪問者。

您是部分正確的@Nishant。 Scanner類中的nextInt()方法確實返回下一個值,該值將作為鍵盤輸入給出。 但是,我們始終只對返回對象的指定屬性的java中的getter使用'mutator'。 因此,我們不能將nextInt()命名為變量。 為了回答您的問題,nextInt()既不是訪問器也不是更改器。 希望我很清楚。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM