interfaceにつけたpublicはinterface自体が外から見える事をあらわしてるだけだ
publicでないinterfaceなんかも作れる
メソッドの前のpublicがクラスやインターフェースの外からアクセスできる事を表してる

ちなみにinterface内にpublic/protectedでないメソッド・フィールドを作る事は無意味
この場合正常にオーバーライド出来ていないと思った方が良い