Java java.lang.AbstractMethodError
 
Dieser Artikel hilft Ihnen, den java.lang.AbstractMethodError zu verstehen und wie Sie ihn in Java lösen können.
Beheben Sie den Fehler java.lang.AbstractMethodError in Java
    
Manchmal kann es vorkommen, dass unser Programm zur Laufzeit AbstractMethodError erfährt. Das Finden der Ursache des Problems kann einige Zeit dauern, wenn wir mit diesem Fehler nicht vertraut sind.
In dieser Lektion untersuchen wir AbstractMethodError genauer. Wir erfahren, was ein AbstractMethodError ist und wann einer auftreten kann.
Wenn ein Programm versucht, eine nicht implementierte abstrakte Methode zu erfinden, wird der Fehler AbstractMethodError ausgegeben. Wir wissen, dass der Compiler einen Fehler auslöst, wenn abstrakte Prozesse nicht implementiert sind; Die Anwendung wird daher nicht erstellt.
Wir konstruieren ein AbstractMethodError-Beispiel mit dem Befehlszeilen-Javac-Compiler. Dieser Fehler wird generiert, wenn die Klassen unabhängig kompiliert werden, was die meisten IDEs verbieten.
Erstellen Sie aus dem folgenden Quellcode eine Java-Klasse namens Abstract:
Code (Abstract.java):
public class Abstract {
  public void hello() {
    System.out.println("Hello! I belong to abstract class");
  }
}
Befolgen Sie diese Anweisungen in der Befehlszeile, um diese Klasse zu kompilieren:
javac Abstract.java
Erstellen Sie die zweite Klasse mit dem Namen AbstractClass mit dem folgenden Quellcode, nachdem die erste Klasse kompiliert wurde:
Code (AbstractClass.java):
public class AbstractClass extends Abstract {
  public static void main(String[] args) {
    AbstractClass newabs = new AbstractClass();
    newabs.hello();
  }
}
Dies würde sich aus dem Zusammenbau und der Ausführung wie folgt ergeben:
javac AbstractClass.java
java AbstractClass
Ausgang:
Hello! I belong to abstract class
Obwohl alles in Ordnung ist, was würde passieren, wenn wir die Funktion hello() in abstract ändern und dann Abstract neu kompilieren, ohne AbstractClass zu ändern? Probieren Sie es aus, indem Sie den Abstract wie folgt ändern:
public abstract class Abstract {
  public abstract void hello();
}
Wir können diese Klasse jetzt einfach neu kompilieren; Wenn wir jedoch die AbstractClass ausführen, erhalten wir Folgendes:
Exception in thread "main" java.lang.AbstractMethodError: AbstractClass.hello()V
        at AbstractClass.main(AbstractClass.java:6)
Angenommen, eine Basisklassenmethode wird in eine abstrakte geändert, wodurch die Basisklasse geändert wird und die erforderlichen Änderungen nicht in der untergeordneten Klasse vorgenommen werden. In diesem Fall tritt AbstractMethodError auf (d. h. Überschreiben der abstrakten Methoden).
Der Programmierer verwendet also, genau wie im obigen Beispiel, eine abstrakte, nicht implementierte Methode (ohne sich ihrer Abstraktheit bewusst zu sein). Da nur die Basisklasse geändert und kompiliert wird, ist er sich dieses Problems nicht bewusst.
In dieser Situation ist lediglich die Implementierung der Methode Abstract in der AbstractClass erforderlich. Das Problem AbstractMethodError würde dadurch behoben.
public class AbstractClass extends Abstract {
  public static void main(String[] args) {
    AbstractClass newabs = new AbstractClass();
    newabs.hello();
  }
  @Override
  public void hello() {
    System.out.println("Hello! I belong to abstract class");
  }
}
Ausgang:
Hello! I belong to abstract class
Shiv is a self-driven and passionate Machine learning Learner who is innovative in application design, development, testing, and deployment and provides program requirements into sustainable advanced technical solutions through JavaScript, Python, and other programs for continuous improvement of AI technologies.
LinkedInVerwandter Artikel - Java Error
- Adresse wird bereits verwendet JVM_Bind-Fehler in Java
- Android Java.Lang.IllegalStateException behoben: Methode der Aktivität konnte nicht ausgeführt werden
- Ausnahme im Hauptthread Java.Lang.ClassNotFoundException in IntelliJ IDEA
- Ausnahme im Hauptthread Java.Lang.NoClassDefFoundError
- Beheben Sie das Problem, dass Java nicht installiert werden kann. Es gibt Fehler in den folgenden Schaltern
- Beheben Sie den Fehler `Es wurde keine Java Virtual Machine gefunden` in Eclipse
