我在採訪中碰到這個問題就來了,那如何讓沒有final關鍵字變量不斷在Java製作一個變量不變,而無需使用final關鍵字
回答
我懷疑他們在尋找一個答案「內聲明的變量一個界面「。根據Java語言規範,在接口中聲明的所有變量都默認爲static和final:
interface Foo {
int BAR = 100;
}
class Test {
public static void main (String[] args) throws java.lang.Exception
{
System.out.println(Foo.BAR);
}
}
很好的答案,但這樣的面試問題的目的是什麼?檢查你是否是好程序員?好的程序員首先不會在Interaces中創建常量。 –
@KrzysztofCichocki我不是這個面試問題的人,所以我不能告訴你這個問題的目的。對我來說,這是一個合法的Java語言難題。 – dasblinkenlight
好吧,在相同的風格有一個偉大的難題:是否有可能在Java中拋出檢查異常從dosn't不聲明它的方法?是。但是如果你這樣做,那麼你是一個糟糕的程序員,那麼當這個問題有什麼價值的時候,有人知道這個問題的答案,當有更多更重要的事情需要知道時? –
您可以強制這樣的變量是有效的決賽。例如,在流中使用它。
int a = 1;
Stream.of(1, 2, 3, 4, 5).map(e -> e + a).forEach(System.out::println);
a = 12; // this line leads to a compile error
- 1. 增加一個變量而不使用靜態關鍵字
- 2. 更改函數中的全局變量,而無需使用global關鍵字
- 3. 如何不使用final關鍵字
- 4. 變量,而無需使用全球
- 5. 強制使字段作爲final來使類不可變
- 6. 作弊用java final關鍵字
- 7. BigDecimal.java關鍵字「final」
- 8. 在變量bash關聯數組中使用變量作爲鍵
- 9. 設置另一個控制器範圍的變量,而無需使用angular.element(Angularjs)
- 10. 製作一個變量使用「如果」,並與空變量
- 11. 如何將一個變量作爲關鍵字?
- 12. 我可以把關鍵字作爲一個公共變量?
- 13. 使用變量作爲預定義關鍵字(Python)的函數的關鍵字
- 14. 使用變量作爲字典鍵
- 15. 製作一個數字變量分類
- 16. Java和使用Final關鍵字
- 17. 在java中使用「final」關鍵字
- 18. 靜態變量 - 另一個關鍵字,我可以用於實例變量?
- 19. 同步多個delete語句,而無需使用「GO」關鍵字
- 20. 如何在JSON對象使用一個字符串變量作爲關鍵
- 21. 我們如何使用關鍵字返回變量的關鍵字使用「設置變量if」RobotFramework
- 22. elasticache如何複製配置組default.redis3.2爲了改變一個參數,而無需編寫的103個不變鍵
- 23. 存儲多個記錄到變量,而無需使用遊標
- 24. Java的關鍵詞與支架和使用關鍵字作爲變量名,像這樣的變量
- 25. 在rails中使用end關鍵字作爲變量
- 26. 在INI文件中使用關鍵字作爲變量名
- 27. 交換兩個變量,而無需使用第三個變量作爲中介位置
- 28. 如何理解「變量在使用volatile關鍵字時不參與與其他狀態變量的不變量」?
- 29. 是java擴展關鍵字的一個引用變量嗎?
- 30. C++ - 如何從調用函數的變量,而無需使用全局變量
相當愚蠢的面試問題,而不是真正需要在現實生活中做這樣的事情。接口中的常量是非常非常糟糕的代碼氣味。沒有人用這種方式編程是件好事,不知道/記住這個更好,不要被誘惑:) –
@MadaraUchiha我不認爲這個問題太寬泛 - 它具體到面試的背景下提供一個明確的答案。 – dasblinkenlight