私は、Javaのインターフェースが抽象クラスとして仮想マシンによって処理されることを知っています。だから、Javaのすべてのクラスは抽象であるかどうかはコンストラクタを持っています。これはインターフェイスにもコンストラクタがあることを意味しますか?なぜなら、抽象クラスなので、私はあまりにもコンストラクタを持つのが理にかなっているからです。一方、インターフェイスは初期化するための属性を持っていないので意味がありません。 それは実際にどのように機能しますか?インターフェイスにはJavaのコンストラクタがありますか?
-3
A
答えて
4
1
すべてのインターフェイスは、次のとおりです。
interface MyInterface{
void addNumber(int amount);
void subtractNumber(int amount);
int getNumber();
}
あなたが「実行」インターフェース、およびインターフェースはあなたが外のオブジェクトを作成するものではありませんありません。 実装があなたのインターフェイスはしかし、コンストラクタを持っていないこと
クラス:
class MyNumber implements MyInterface{
private int myNumber;
//Here is your constructor, called when you instantiate it.
myNumber(int number){
myNumber = number;
}
//Now you need to add the methods in your interface
public void addNumber(int number){
myNumber = myNumber + number;
}
public void subractNumber(int number){
myNumber = myNumber - number;
}
public int getNumber(){
return myNumber;
}
}
はありませんので、インターフェースは
ないがコンストラクタを持っています。お役に立てれば!
編集:あなたは、あなたのオブジェクトを作成するとき、あなたはあなたのコンストラクタを呼び出す:
MyNumber number = new MyNumber(5); //Calls the constructor and creates a new MyNumber with the value of 5.
number.addNumber(6); //Adds 6 to your number, it is now 11.
number.subtractNumber(3); //Subracts 3 from your number, it is now 8.
number.getNumber(); //returns the value of myNumber inside of your MyNumber object, which is 8.
編集2:私はインターフェイス上でもう少し詳しく説明したいと思います。あなたは、彼らが初期化するための属性を持っていないと言って正しいです。彼らには実装方法があります。インターフェイスに「移動」メソッドがある場合は、多くのさまざまなものに適用できます。車、犬、ボート、飛行機、ナツメ、ヘビはすべて動くが、どうやって動くのだろうか?車はナマケよりも速く動くので、動きが異なります。移動する必要のあるクラスを作成するときに、その移動メソッドを変更して、必要な状況に合わせて調整することができます。それがインターフェイスのポイント、柔軟性です。
関連する問題
- 1. Javaコンストラクタにバグがありますか?
- 2. PythonにはC#/ Javaスタイルのインターフェイスがありますか?
- 3. XMLHttpRequestsにNavigationTimingインターフェイスがありますか?
- 4. `set`メソッドだけを持つJavaインターフェイスがありますか?
- 5. (Beginner Java):コンストラクタに引数がありませんか?
- 6. Java:Objectクラスにコンストラクタがありますか?
- 7. equals()にはComparatorがありますが、JavaのComparableインターフェイスにはありません
- 8. JavaインターフェイスでGenericsをオートワイヤリングする方法はありますか?
- 9. System.IO.Stream用のインターフェイスはありますか?
- 10. java thisキーワードがコンストラクタ内にあります
- 11. Windowsにはフォルダのコピー用のインターフェイスがありますか?
- 12. emacs valgrindインターフェイスはありますか?
- 13. スーパークラス(Java)に利用可能なコンストラクタがありません
- 14. VLCメディアプレーヤーにはC#インターフェイスがありますか?
- 15. デフォルトのコンストラクタはありませんか?
- 16. 移動コンストラクタはnoexceptである必要がありますか?
- 17. addActionListenerメソッドを実装するオブジェクト用のJavaインターフェイスはありますか?
- 18. rubyモジュールにはコンストラクタがありますか?
- 19. Java:コンストラクタが失敗したオブジェクトはどうなりますか?
- 20. typescriptには空のインターフェイスである標準タイプがありますか?
- 21. 親インターフェイスで見つからないコンストラクタを解決するJAVA
- 22. TypeError:fakeClassがコンストラクタではありません
- 23. 「コンストラクタではありませんが、タイプチェックアウト」
- 24. FormDataがコンストラクタではありません
- 25. TypeError:AWS.DynamoDB.DocumentClientがコンストラクタではありません
- 26. TypeError:cognitiveServices.faceがコンストラクタではありません
- 27. TypeError:schemaがコンストラクタではありません
- 28. SymfonyにORMのインターフェイスがありますか?
- 29. UMLインターフェイスにクラスとの関連付けがありますか?
- 30. なぜHaskellの型コンストラクタに加えて値コンストラクタがありますか?
「分かっていない」。あなたは*それを考えると、あなたは間違っています。したがって、残りの質問は、間違った前提に基づいています。 – EJP
@EJPインターフェイスは仮想マシンのクラスとして扱われませんか? –
「あなたは間違っている」のどの部分を理解できませんでしたか?インターフェイスは、仮想マシンによってインターフェイスとして処理されます。 – EJP