我知道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. Java接口可以有構造函數嗎?
- 3. 在java中有一個析構函數來對付構造函數嗎?
- 4. Java:Object類有一個構造函數嗎?
- 5. EasyMock:在java中構造一個構造函數調用
- 6. 構造函數可以在C++中調用另一個構造函數嗎?
- 7. 如果構造函數接受另一個接口,如何在Simple Injector中執行構造函數注入?
- 8. 在構造函數中傳遞接口對象 - 我複製接口對象嗎?
- 9. 構造函數中的空接口
- 10. 接口中的構造函數?
- 11. 接口中的構造函數
- 12. 在抽象類中有一個構造函數很好嗎?
- 13. 在.NET中,一個類可以有虛擬構造函數嗎?
- 14. 在Java構造函數中有固定參數 - 可能嗎?
- 15. 在構造函數中調用另一個構造函數
- 16. 可以在類的構造函數中使用「new」來調用Java中的另一個構造函數嗎?
- 17. 在子類構造函數中的接口類函數指針
- 18. 是否有可能將構造函數放在另一個構造函數的構造函數中?
- 19. 爲什麼LocationListener有一個構造函數,如果它是一個接口?
- 20. 在java中接收三個參數的構造函數?
- 21. 在java中調用繼承構造函數的構造函數
- 22. 瞭解java中的接口,類和構造函數
- 23. java中的接口,類和構造函數
- 24. 構造函數鏈會在Java中創建多個對象嗎?
- 25. 是否有可能直接在C++中的另一個構造函數的參數中構造一個對象?
- 26. 我與另一個構造函數調用構造函數有一個錯誤
- 27. Java - 構造函數是靜態的嗎?
- 28. Typescript,import,「new」,構造函數和接口?
- 29. Javadoc調用接口的構造函數
- 30. 抽象類,構造函數和接口
你不知道那個。你*認爲*,你錯了。因此,你的問題的其餘部分是基於一個錯誤的前提。 – EJP
@EJP所以接口不作爲虛擬機的類處理? –
「你錯了」的哪部分你不明白?接口被虛擬機處理爲接口。 – EJP