java 接口中 常量_讨论:Java 接口当中的 “常量接口”
Java接口當(dāng)中有一個(gè)類(lèi)型為常量接口,我在網(wǎng)上看到有些人不提倡使用這種方式。具體的原因也沒(méi)怎么講,但是在這里我還是想與大家討論一下這個(gè)接口方式的使用。
希望有對(duì)此接口使用方式有深刻了解的網(wǎng)友能夠多提意見(jiàn):
今天朋友發(fā)來(lái)郵件談起這種接口方式,說(shuō)她寫(xiě)的程序當(dāng)中的最后一句有錯(cuò),讓 我?guī)椭纯?#xff1a;下面是這段程序的源碼
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里面看了,是一個(gè)警告原因就在于她用a.PI來(lái)取得常量值的方式的警告。
其實(shí)原因很簡(jiǎn)單,就是一個(gè)靜態(tài)字段需要在一個(gè)靜態(tài)方法中使用的警告。
看了這段代碼后,我發(fā)現(xiàn)其實(shí)她使用常量接口的作用已經(jīng)在實(shí)現(xiàn)了接口Maths的類(lèi)中體現(xiàn)。就是我們可以在實(shí)現(xiàn)常量接口的類(lèi)中直接使用常量而不必加上前面的對(duì)象,當(dāng)然使用Math.PI也是對(duì)的,不過(guò)為了方便我們可以在這個(gè)類(lèi)當(dāng)中直接使用PI去代替它。
同樣我們也可以使用類(lèi)Arithmetic當(dāng)中的PI,我們可以直接引用arithmetic.PI,但是我們不能夠使用a.PI
類(lèi)當(dāng)中的常量定義對(duì)其它類(lèi)來(lái)說(shuō)是可見(jiàn)可用的:他的使用可以以 類(lèi)名.常量名 即可
而接口當(dāng)中:對(duì)其它類(lèi)來(lái)說(shuō)是不可見(jiàn)的,除非我們需要去實(shí)現(xiàn)這個(gè)接口,只有實(shí)現(xiàn)它我們才可以直接使用 常量名 的方式
常量接口當(dāng)中定義的常量,在實(shí)現(xiàn)這個(gè)接口的類(lèi)當(dāng)中可以直接拿來(lái)使用。它里面沒(méi)有相關(guān)屬性和其它方法。還有一點(diǎn)就是:常量在使用起來(lái)更為簡(jiǎn)潔。
posted on 2006-08-02 15:41 水煮三國(guó) 閱讀(1223) 評(píng)論(2) ?編輯 ?收藏 所屬分類(lèi): J2SE
總結(jié)
以上是生活随笔為你收集整理的java 接口中 常量_讨论:Java 接口当中的 “常量接口”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 工作3年水平_有着4年java
- 下一篇: java 有序列表_关于算法:在Java