English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
El método sin sujeto se llama método abstracto. Solo contiene un medio dos puntos y la coma antes deAbstractoFirma del método de la palabra clave
public abstract myMethod();
Para usar un método abstracto, es necesario heredarlo a través de su clase y proporcionar una implementación para él.
Una clase que contiene 0 o más métodos abstractos se llama clase abstracta. Si contiene al menos un método abstracto, debe declararse como abstract.
Por lo tanto, si se desea evitar la instanciación directa de una clase, se puede declarar abstractamente.
Dado que no se puede instanciar una clase abstracta, tampoco se puede acceder a sus métodos de instancia. Solo se pueden llamar métodos estáticos de la clase abstracta (porque no necesitan una instancia).
abstract class Example{ static void sample() { System.out.println("Método estático de la clase abstracta"); } public void demo() { System.out.println("Método de la clase abstracta"); } } public class NonStaticExample{ public static void main(String args[]) { Example.sample(); } }
Resultado de salida
Método estático de la clase abstracta
La única manera de acceder a un método no estático de una clase abstracta es extenderla, implementar los métodos abstractos (si los hay) y luego llamar al método necesario utilizando un objeto de la subclase.
abstract class Example{ public void demo() { System.out.println("Método de la clase abstracta"); } } public class NonStaticExample extends Example{ public static void main(String args[]) { new NonStaticExample().demo(); } }
Resultado de salida
Método de la clase abstracta