Réparer Java l'erreur Cannot Instantiate the Type

Haider Ali 12 octobre 2023
Réparer Java l'erreur Cannot Instantiate the Type

Aujourd’hui, nous allons apprendre à corriger l’erreur Cannot Instantiate the Type en Java.

Ce type d’erreur se produit lorsque vous essayez de créer une instance d’une classe abstraite. Apprenons un peu les classes abstraites en Java.

Correction de l’erreur Cannot Instantiate the Type Error en Java

Nous utilisons généralement une classe abstraite lorsque nous devons fournir des fonctionnalités communes à tous ses composants. Vous pourrez implémenter partiellement votre classe.

Vous serez en mesure de générer des fonctionnalités que toutes les sous-classes pourront remplacer ou implémenter. Cependant, vous ne pouvez pas instancier la classe abstraite.

Regardez le code suivant :

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

La classe abstraite compte ci-dessus ne peut pas être instanciée. Cela signifie que vous ne pouvez pas écrire le code suivant.

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

Alors, quelle est la solution ? Vous pouvez créer une classe concrète/enfant de cette classe abstraite et en faire une instance.

Par exemple, il existe de nombreux types de comptes. Il peut s’agir d’épargne, d’entreprise, de débit et bien plus encore.

Cependant, ce sont tous des comptes réels, et c’est quelque chose qu’ils ont en commun. C’est pourquoi nous utilisons des méthodes et des classes abstraites.

Jetez un œil au code suivant.

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

La classe BusinessAccount est une classe concrète et enfant de la classe abstraite Account. Vous pouvez créer une instance de cette classe et faire votre travail.

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

Donc, la conclusion est que vous ne pouvez pas instancier la classe abstraite ; à la place, vous pouvez créer sa classe enfant et l’instancier pour la même fonctionnalité.

Ce qui suit est un code complet que vous pouvez exécuter sur votre ordinateur.

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..........
  }
}

Pour en savoir plus sur la classe abstraite, cliquez ici.

Auteur: 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

Article connexe - Java Error