這種方法簽名是什麼意思?
<E extends RuntimeException> void genericThrow() throws E
我期待看到像公立,私立等,在地方<E extends RuntimeException>
這種方法簽名是什麼意思?
<E extends RuntimeException> void genericThrow() throws E
我期待看到像公立,私立等,在地方<E extends RuntimeException>
這是可能的這種方法有一個訪問修飾符;它只是沒有一個。這意味着它是封裝私有的。
public <E extends RuntimeException> void genericThrow() throws E
private <E extends RuntimeException> void genericThrow() throws E
protected <E extends RuntimeException> void genericThrow() throws E
的<E extends RuntimeException>
聲明瞭E
與一個上限一般類型參數。也就是說,E
必須RuntimeException
或子類。
致謝異常。但通用方法的用途是什麼?從oracle文檔中,我無法理解通過使方法成爲通用來執行哪種類型的檢查。在我們的例子中,這意味着該方法只能拋出一個RuntimeException的子類的異常?我想應當寫爲:空隙genericThrow()拋出
對於可拋出任何'RuntimeException'的方法,泛型不是必需的。 'void genericThrow()拋出RuntimeException'就足夠了。在這裏通用的例外並不真正有幫助,因爲你不能說'拋出新的E()'。你也可以說'抓(RuntimeException的E)'調用,趕上他們無論如何方法時。 – rgettman
爲什麼不能我們說:孔隙genericThrow()拋出
這是一個[一般方法](http://docs.oracle.com/javase/tutorial/extra/generics/methods.html) –
缺少訪問修飾符使得包專用。 –
「默認」範圍(包rpivate),通用類型E延伸的RuntimeException,void返回類型,命名爲「genericThrow」,其拋出型E. – initramfs