Existe una regla de que cada miembro de la interfaz es solo público, ya sea que lo defina o no . Entonces, cuando definimos el método de la interfaz en una clase que implementa la interfaz, debemos darle acceso público ya que la clase secundaria no puede asignar el acceso más débil a los métodos .
Como se define, cada método presente dentro de la interfaz siempre es público y abstracto, ya sea que lo declaremos o no. Por lo tanto, dentro de la interfaz, las siguientes declaraciones de métodos son iguales.
void methodOne(); public Void methodOne(); abstract Void methodOne(); public abstract Void methodOne();
public : para que este método esté disponible para cada clase de implementación.
resumen: la clase de implementación es responsable de proporcionar la implementación.
Además, no podemos usar los siguientes modificadores para los métodos de interfaz.
- Privado
- protegido
- final
- estático
- sincronizado
- nativo
- estricto
// A Simple Java program to demonstrate that // interface methods must be public in // implementing class interface A { void fun(); } class B implements A { // If we change public to anything else, // we get compiler error public void fun() { System.out.println("fun()"); } } class C { public static void main(String[] args) { B b = new B(); b.fun(); } }
Producción:
fun()
Si cambiamos fun() a algo que no sea público en la clase B, obtenemos un error del compilador “intentando asignar privilegios de acceso más débiles; era público”
Este artículo es una contribución de Twinkle Tyagi . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo y enviarlo por correo electrónico a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA