Java接口當中有一個類型為常量接口,我在網上看到有些人不提倡使用這種方式。具體的原因也沒怎么講,但是在這里我還是想與大家討論一下這個接口方式的使用。
希望有對此接口使用方式有深刻了解的網友能夠多提意見:
今天朋友發來郵件談起這種接口方式,說她寫的程序當中的最后一句有錯,讓 我幫著看看:下面是這段程序的源碼
interface Math
{
??double PI=3.1415926;
}
class Arithmetic implements Math
{
??double roudeArea(double radius)
???? {
???????? return PI*radius*radius;
???? }
}
class Student
{
?? public static void main(String[] args)
???? {
?????? Arithmetic a=new Arithmetic();
?????? System.out.println(a.roudeArea(3));
?????? System.out.println(Math.PI);
?????? System.out.println(Arithmetic.PI);
?????? System.out.println(a.PI);
????? }
}
我在eclipse里面看了,是一個警告原因就在于她用a.PI來取得常量值的方式的警告。
其實原因很簡單,就是一個靜態字段需要在一個靜態方法中使用的警告。
看了這段代碼后,我發現其實她使用常量接口的作用已經在實現了接口Maths的類中體現。就是我們可以在實現常量接口的類中直接使用常量而不必加上前面的對象,當然使用Math.PI也是對的,不過為了方便我們可以在這個類當中直接使用PI去代替它。
同樣我們也可以使用類Arithmetic當中的PI,我們可以直接引用arithmetic.PI,但是我們不能夠使用a.PI
類當中的常量定義對其它類來說是可見可用的:他的使用可以以 類名.常量名 即可
而接口當中:對其它類來說是不可見的,除非我們需要去實現這個接口,只有實現它我們才可以直接使用 常量名 的方式
常量接口當中定義的常量,在實現這個接口的類當中可以直接拿來使用。它里面沒有相關屬性和其它方法。還有一點就是:常量在使用起來更為簡潔。
posted on 2006-08-02 15:41
水煮三國 閱讀(1355)
評論(2) 編輯 收藏 所屬分類:
J2SE