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

也許有了這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>
      主站蜘蛛池模板: 罗定市| 彰化市| 延长县| 星子县| 郯城县| 勐海县| 黎城县| 磴口县| 阳城县| 河津市| 新绛县| 林周县| 五河县| 聂拉木县| 平罗县| 望奎县| 长汀县| 衡山县| 富顺县| 札达县| 巩留县| 汽车| 临泉县| 南宫市| 财经| 西林县| 徐闻县| 苏州市| 贵德县| 郁南县| 彭泽县| 赤水市| 五家渠市| 涪陵区| 乳源| 涟水县| 七台河市| 海伦市| 鄂托克旗| 万荣县| 英吉沙县|