Corrigir que o Java não pode instanciar o erro de tipo
Hoje, aprenderemos como corrigir o erro não é possível instanciar o erro de tipo
em Java.
Este tipo de erro ocorre quando você tenta criar uma instância de uma classe abstrata. Vamos aprender um pouco sobre classes abstratas em Java.
Corrigir não é possível instanciar o tipo
Erro em Java
Normalmente usamos uma classe abstrata quando precisamos fornecer algumas funcionalidades comuns entre todos os seus componentes. Você será capaz de implementar sua classe parcialmente.
Você será capaz de gerar funcionalidades que todas as subclasses serão capazes de substituir ou implementar. No entanto, você não pode instanciar a classe abstrata.
Observe o seguinte código:
abstract class Account { // abstract class Cannot Be initiated...
private int amount;
Account() {
// constructor............
}
public void withDraw(int amount) {
this.amount = this.amount - amount;
}
}
A classe abstrata acima conta
não pode ser instanciada. Isso significa que você não pode escrever o código a seguir.
Account acc = new Account(); // Abstract Cannot Intialized......
Então, qual é a solução? Você pode criar uma classe concreta / filha dessa classe abstrata e fazer uma instância dela.
Por exemplo, existem tantos tipos de contas. Eles podem ser poupança, negócios, débito e muito mais.
No entanto, todos eles são contas reais e isso é algo que eles têm em comum. É por isso que usamos métodos e classes abstratos.
Dê uma olhada no código a seguir.
class BusinessAccount extends Account {
private int Bonus;
public void AwardBonus(int amount) {
this.Bonus = Bonus + amount;
}
}
A classe BusinessAccount
é uma classe concreta e filha da classe abstrata Account
. Você pode criar uma instância dessa classe e fazer seu trabalho.
BusinessAccount bb = new BusinessAccount();
// Bussiness Account Can Be intiated Because there is concreate defination..........
Portanto, a conclusão é que você não pode instanciar a classe abstrata; em vez disso, você pode criar sua classe filha e instanciá-la para a mesma funcionalidade.
A seguir está um código completo que você pode executar em seu computador.
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..........
}
}
Para saber mais sobre Abstract Class, clique aqui.
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