可視性とインターフェース


Javaでは、interfaceのアクセス修飾子はpublic、defaultですが、protected、privateではありません.
例:
public interface IntfA {  //public, visible to all classes in a project.
}

および
interface IntfA {  //default, the interface is only visible to classes which in the same package as the interface.
}

このように書くのは合法的だ.
Interfaceにおける「抽象メソッド」のアクセス修飾子については、private、protected以外は使用できないと思いますが、publicやdefaultなどの他の役割範囲は同じだと思います.すなわち,メソッドの前にpublicを付けるのと何も付けないのとでは,作用範囲は同じであり,publicと見なされる.