2017-06-06 5 views
-2
1. 

interface A { 
void display(); 
} 
class B implements A { 
//not use here private,protected,default...... 
**public** void display(){ 
    System.out.println("i m interface method"); 
} 
public static void main(String args[]){ 
A a1 = new B(); 
a1.display(); 
} 

} 

は、私は完全に混乱が私を助けてくださいよ....と私の英語のため申し訳ありません。ありがとうインターフェイスメソッドのオーバーライドで常にアクセス修飾子publicを使用すると、なぜですか?

+0

[あなたのコードを最初にフォーマットする](https://stackoverflow.com/posts/44386442/edit) –

答えて

0

あなたのクラスでpublicを使用しなければならない理由)=それを可視面積を減らすために許可されている、あります。 JavaのチュートリアルDefining an Interfaceは、一部には、言う

すべての抽象、デフォルト、およびあなたがpublic修飾子を省略することができるようにインターフェイスの静的メソッドは、暗黙のうちにpublicです。

0

インターフェイスにはいくつかのメソッドがあるはずですが、インターフェイスを実装する場合は、非公開にすることはできません。あなたの方法は、暗黙的インタフェースからpublicあるので

方法は、デフォルトでインターフェイスに公開され、あなたが今

関連する問題