2012-06-19 48 views
0

對不起,這個可怕的問題,不知道怎麼形容,這個Java構造是什麼意思 - OneClass對象=(OneClass)anotherObject;

我自然是一個PHPer,我目前正在查看一些java,並遇到此部分。第一行是剛剛在那裏背景下,開始QuotaKey,我很感興趣,就行了。

Key key = Keys.getKeyInstance(Keys.getKeyClass(cond.getKey())); 
QuotaKey quotaKey = (QuotaKey) key; 
+1

[Casting Objects](http://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html) –

+0

爲什麼downvotes?對我來說似乎是一個合法和誠實的問題。 –

+0

如果有人能給我一個更好的標題,或問題的話,所以這對別人有用 - 我會很樂意修改 –

回答

2

假設QuotaKeyKey一個子類,你正在尋找一個轉換運算符的類型Key的變量轉換爲QuotaKey類型的變量。你可以更簡潔地寫相同的片段沒有一個臨時變量:

QuotaKey quotaKey = (QuotaKey)Keys.getKeyInstance(Keys.getKeyClass(cond.getKey())); 

此操作將檢查key在強迫其類型設置爲子之前是正確的類型,並在故障造成ClassCastException。在程序中最大限度地減少此類強制轉換的次數,因爲在編譯時無法可靠地檢查其有效性。

1

這是一個演員。它將密鑰的類型強制轉換爲QuotaKey。

0

你正在尋找被稱爲類型轉換(在這種特殊情況下向下轉換)是什麼,它只是使用QuotaKey類型的變量,我以爲是一個超類或QuotaKey超接口Key類型的參考。