2014-03-27 25 views
-3

我需要創建一個接口,它將從File類+我的一些方法中聲明方法。 我怎樣才能實現我的界面,所以從File類方法中取得的所有內容都會和File類中的相同? my task 我不知道如何做到這一點如何使用其他類的方法創建自己的接口?

+1

你不能。但是你可以擴展'File'。 –

+0

'public myClass extends myBaseClass { // TODO }' – MrMins

+0

不知道爲什麼你會收到downvoted。我認爲這是一個有效的問題。 –

回答

2

你可以聲明自己的界面:

public interface MyInterface { 
    void myMethod(); 
} 

然後聲明自己的類擴展File並實現你的接口:

public class MyFile extends File implements MyInterface { 

    public MyFile(String pathname) { 
     super(pathname); 
     // Additional constructor code. 
    } 

    @Override 
    public void myMethod() { 
     // Overridden method from MyInterface. 
     System.out.println("My method!"); 
    } 

    @Override 
    public String getName() { 
     // Overridden method from File. 
     return "MyFileName"; 
    } 
} 

這樣,您將擁有一個類似File的課程,其中包含您的自定義界面中的其他方法,並且您可以覆蓋從File開始的所需方法。使用

例子:

MyInterface customFile = new MyFile("myFile.txt"); 
customFile.myMethod(); 
+0

這個問題意味着接口需要聲明'File'類的所有公共方法,所以我想你應該相應地增強'MyInterface'。 –

+0

我能用這種方式基於Myinterface創建對象嗎? – Cupuycblack

+0

@CostiCiudatu'File'有很多方法,所以我老老實實地認爲從它延伸出來並覆蓋你想要採取不同行爲的方法要比用'File'方法的** all **填充接口要好。這裏的'MyInterface'只用於不屬於'File'的其他行爲。 –

相關問題