精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

也許有了這5個特性, Java能重歸巔峰?

責任編輯:editor006

作者:三文魚 

2017-11-10 16:04:46

摘自:it168網站

Yegor Bugayenko稱,他偶然受到了Brian Goetz關于Java中數據類提議的啟發,立即意識到自己也有一些關于如何使Java成為更好語言的想法。

Yegor Bugayenko稱,他偶然受到了Brian Goetz關于Java中數據類提議的啟發,立即意識到自己也有一些關于如何使Java成為更好語言的想法。其中,以下這五個最重要的。

全局變量

Java中有單例,這大家都知道。如果能在Java中啟用全局變量并擺脫單例對象,這不是很好么。PHP,JavaScript,Ruby和許多其他語言都有,為什么Java沒有?看看這個代碼: 也許有了這5個特性, Java能重歸巔峰?

這是一個單例,但是它很冗長。可以簡單地用一個全局變量替換它:也許有了這5個特性, Java能重歸巔峰?

  編寫更少的代碼,閱讀起來更容易!

全局函數和命名空間

為了將靜態方法組在一起,我們創建了工具類,必須定義私有構造函數來防止它們實例化。另外,還必須記住靜態方法所在的特定工具類中,這樣的方法一點都不高效。Yegor Bugayenko建議我們將全局函數添加到Java和可選的“名稱空間”來對它們進行分組。 看看這個工具類:也許有了這5個特性, Java能重歸巔峰?

Yegor Bugayenko的觀點是,既然已經在使用類作為函數的集合了,那么就讓它更方便一些。在一些應用程序中,我們甚至不需要命名空間,只需要全局函數,例如C或者C ++。

完全訪問私有屬性和方法

為了從外部訪問私有屬性或對象的方法,我們必須使用Reflection API。這并不是特別困難,但它需要的這些代碼卻不容易閱讀和理解:也許有了這5個特性, Java能重歸巔峰?

Yegor Bugayenko建議,允許任何對象訪問另一個對象的任何屬性和方法:也許有了這5個特性, Java能重歸巔峰?

當然,如果它們是私有的,編譯器會發出警告。在編譯時,您只需忽略警告并繼續工作。

默認為NULL

可以用不完整的參數來調用構造函數和方法。默認情況下,我們不提供的參數將默認被設置為null。另外,當一個方法必須有返回值時,但是沒有返回語句時,Java應該返回null。這幾乎就是它在PHP,Ruby和許多其他語言中的工作原理。

當一些參數是可選的時,我們不需要定義這么多的方法。方法重載非常冗長,而且難以理解。相反,應該有一個具有參數列表的方法。其中一些將由調用者提供,另一些將被設置為空。該方法將決定要做什么,例如:也許有了這5個特性, Java能重歸巔峰?

然后調用save(f)或save(f,“UTF-16”)。 該方法將更方便,就像在Ruby中一樣,通過名稱提供方法參數:也許有了這5個特性, Java能重歸巔峰?

另外,當沒有返回值時,該方法必須默認返回null。寫入返回null是浪費時間的,這并不能真正提高可讀性:也許有了這5個特性, Java能重歸巔峰?

從這段代碼中可以明顯看出,如果文件存在,該方法將加載并返回其內容。如果不是,則返回null,這對于調用者來說是一個很好的指示器。

getter和setter

顯而易見,我們需要這個特性:每個私有屬性都必須自動擁有setter和getter。不需要去創建,就像Kotlin和Ruby一樣,Java應該提供。如果沒有getter和setter來讀取并修改,那么又有什么意義呢?

有了這個新功能,就不再需要Lombok或IntelliJ IDEA的輔助。

鏈接已復制,快去分享吧

企業網版權所有?2010-2024 京ICP備09108050號-6京公網安備 11010502049343號

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 墨玉县| 吐鲁番市| 中西区| 三明市| 旬邑县| 苗栗市| 寿宁县| 延吉市| 贵定县| 农安县| 城固县| 莒南县| 眉山市| 永仁县| 寿阳县| 兴山县| 称多县| 赞皇县| 射洪县| 镇坪县| 乌兰县| 通渭县| 常山县| 建昌县| 阳西县| 潮安县| 兴国县| 长乐市| 当雄县| 延寿县| 从江县| 广灵县| 府谷县| 翼城县| 东台市| 肇东市| 大洼县| 玛多县| 麟游县| 潮州市| 廊坊市|