Java Fehler Cannot Instantiate the Type beheben

Haider Ali 12 Oktober 2023
Java Fehler Cannot Instantiate the Type beheben

Heute erfahren Sie, wie Sie den Fehler Cannot Instantiate the Type in Java beheben.

Dieser Fehlertyp tritt auf, wenn Sie versuchen, eine Instanz einer abstrakten Klasse zu erstellen. Lassen Sie uns etwas über abstrakte Klassen in Java lernen.

Behebung des Fehlers cannot instantiate the type in Java

Normalerweise verwenden wir eine abstrakte Klasse, wenn wir einige gemeinsame Funktionalitäten für alle ihre Komponenten bereitstellen müssen. Sie können Ihre Klasse teilweise implementieren.

Sie können Funktionalitäten generieren, die alle Unterklassen überschreiben oder implementieren können. Sie können die abstrakte Klasse jedoch nicht instanziieren.

Sehen Sie sich den folgenden Code an:

abstract class Account { // abstract class Cannot Be initiated...
  private int amount;
  Account() {
    // constructor............
  }
  public void withDraw(int amount) {
    this.amount = this.amount - amount;
  }
}

Die obige abstrakte Klasse Account kann nicht instanziiert werden. Das heißt, Sie können den folgenden Code nicht schreiben.

Account acc = new Account(); // Abstract Cannot Intialized......

Also, was ist die Lösung? Sie können eine konkrete/untergeordnete Klasse dieser abstrakten Klasse erstellen und eine Instanz davon erstellen.

Zum Beispiel gibt es so viele Arten von Konten. Dies können Ersparnisse, Geschäfte, Lastschriften und vieles mehr sein.

Es handelt sich jedoch alle um tatsächliche Konten, und das haben sie gemeinsam. Deshalb verwenden wir abstrakte Methoden und Klassen.

Sehen Sie sich den folgenden Code an.

class BusinessAccount extends Account {
  private int Bonus;
  public void AwardBonus(int amount) {
    this.Bonus = Bonus + amount;
  }
}

Die Klasse BusinessAccount ist eine konkrete und untergeordnete Klasse der abstrakten Klasse Account. Sie können eine Instanz dieser Klasse erstellen und Ihre Arbeit erledigen.

BusinessAccount bb = new BusinessAccount();
// Bussiness Account Can Be intiated Because there is concreate defination..........

Die Schlussfolgerung ist also, dass Sie die abstrakte Klasse nicht instanziieren können; Stattdessen können Sie ihre untergeordnete Klasse erstellen und sie für dieselbe Funktionalität instanziieren.

Im Folgenden finden Sie einen vollständigen Code, den Sie auf Ihrem Computer ausführen können.

abstract class Account { // abstract class Cannot Be intiated...
  private int amount;
  Account() {
    // constructor............
  }
  public void withDraw(int amount) {
    this.amount = this.amount - amount;
  }
}
class BusinessAccount extends Account {
  private int Bonus;
  public void AwardBonus(int amount) {
    this.Bonus = Bonus + amount;
  }
}
public class Main {
  public static void main(String[] args) {
    // Account acc = new Account(); // Abstract Cannot Intialized......
    BusinessAccount bb = new BusinessAccount();
    // Bussiness Account Can Be intiated Because there is concreate defination..........
  }
}

Um mehr über die abstrakte Klasse zu erfahren, klicken Sie hier.

Autor: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

Verwandter Artikel - Java Error