我已被問到以下問題:接口實現
a)接口IntSet有一個稱爲isElem的單一方法。該方法採用int類型的單參數 並返回布爾結果。 完整定義接口IntSet。
到目前爲止我的答案是我。任何幫助,將不勝感激。由於
public interface Intset {
public abstract boolean isElem (int a)
}
我已被問到以下問題:接口實現
a)接口IntSet有一個稱爲isElem的單一方法。該方法採用int類型的單參數 並返回布爾結果。 完整定義接口IntSet。
到目前爲止我的答案是我。任何幫助,將不勝感激。由於
public interface Intset {
public abstract boolean isElem (int a)
}
正確的解決方法是:
public interface IntSet {
public abstract boolean isElem (int a);
}
你忘了;在方法定義的末尾,並且在類名中有一個小的拼寫錯誤。
請注意,在這種情況下,關鍵字public
和abstract
是可選的並且不鼓勵。
解決方案是正確的,但根據JLS不鼓勵多餘的修飾符'public'和'abstract'。 – 2011-05-13 14:29:12
你確定他們不鼓勵,不僅是可選的嗎? – RoflcoptrException 2011-05-13 14:30:15
可選和不鼓勵。請參閱JLS的第9.4節。 – 2011-05-13 14:31:06
除了後面的分號,你已經完成了這個問題。
public interface Intset {
public abstract boolean isElem (int a);
}
public interface IntSet{
bool isElem(int val);
}
布爾?應該是boolean – amit 2011-05-13 14:24:22
我的錯誤,錯過了它被標記在java下。在C#中正常工作,欣賞投票。 – 2011-05-13 16:57:11
由於接口的每一個方法是通過默認的公共和抽象
public interface IntSet {
boolean isElem (int a);
}
我會放棄從代碼中public abstract
。你很少看到這一點,因爲它是多餘的。
從Java語言規範,Section 9.4:
在接口的主體 每個方法聲明是隱含 抽象,所以其體總是由分號,而不是一個塊來表示。
接口正文中的每個方法聲明都是隱含的公開的 。
和語法:
InterfaceMemberDeclaration:
ConstantDeclaration
AbstractMethodDeclaration
ClassDeclaration
InterfaceDeclaration
;
也表明在接口中聲明的所有方法都是抽象的。
你忘了寫;
和接口中的方法都默認pulbic和抽象所以
你可以寫
public interface IntSet{
boolean isElem(int val);
}
或
public interface IntSet{
public abstract boolean isElem(int val);
}
什麼是你的問題? – 2011-05-13 14:19:33
您忘記了方法聲明結尾的';'。另外,「public」和「abstract」是可選的。 Intset和IntSet是兩個不同的名字。否則就沒關係。 – Bolo 2011-05-13 14:20:13
你有一個小錯字:問題要求'IntSet',但你定義了'Intset'。 – 2011-05-13 14:20:18