我碰到下面的代碼。它是一個有屬性分配的接口。我瞭解接口只能用於聲明方法。這樣做的目的是什麼?接口中賦值的語義是什麼?
interface Literals {
/**
* The meta object literal for the '{@link bowling.impl.PlayerImpl <em>Player</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see bowling.impl.PlayerImpl
* @see bowling.impl.BowlingPackageImpl#getPlayer()
* @generated
*/
EClass PLAYER = eINSTANCE.getPlayer();
/**
* The meta object literal for the '<em><b>Name</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EAttribute PLAYER__NAME = eINSTANCE.getPlayer_Name();
/**
* The meta object literal for the '<em><b>Date Of Birth</b></em>' attribute feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
EAttribute PLAYER__DATE_OF_BIRTH = eINSTANCE.getPlayer_DateOfBirth();
}
是的,但這並不能說明它爲什麼必須是一個接口。在你的例子中它仍然可以是類文字。他們本可以寫公共靜態最後的^^ – Friwi
@Friwi沒錯,但它不是「它爲什麼要成爲」的問題,它是「什麼是語義」的問題,答案是:它們是常量。 – Andreas