Arreglar Java error Cannot Instantiate the Type
Hoy, aprenderemos cómo corregir el error Cannot Instantiate the Type
en Java.
Este tipo de error ocurre cuando intenta crear una instancia de una clase abstracta. Aprendamos un poco sobre clases abstractas en Java.
Se corrigió el error cannot instantiate the type
en Java
Usualmente usamos una clase abstracta cuando necesitamos proporcionar algunas funcionalidades comunes entre todos sus componentes. Podrás implementar tu clase parcialmente.
Podrá generar funcionalidades que todas las subclases podrán anular o implementar. Sin embargo, no puede crear una instancia de la clase abstracta.
Mira el siguiente 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;
}
}
La Account
de la clase abstracta anterior no se puede instanciar. Lo que significa que no puede escribir el siguiente código.
Account acc = new Account(); // Abstract Cannot Intialized......
Entonces, ¿cuál es la solución? Puede crear una clase concreta / secundaria de esta clase abstracta y hacer una instancia de eso.
Por ejemplo, existen muchos tipos de cuentas. Pueden ser ahorros, negocios, débito y mucho más.
Sin embargo, todas son cuentas reales, y eso es algo que tienen en común. Por eso usamos métodos y clases abstractos.
Eche un vistazo al siguiente código.
class BusinessAccount extends Account {
private int Bonus;
public void AwardBonus(int amount) {
this.Bonus = Bonus + amount;
}
}
La clase BusinessAccount
es una clase concreta y secundaria de la clase abstracta Account
. Puede crear una instancia de esta clase y hacer su trabajo.
BusinessAccount bb = new BusinessAccount();
// Bussiness Account Can Be intiated Because there is concreate defination..........
Entonces, la conclusión es que no puede instanciar la clase abstracta; en su lugar, puede crear su clase secundaria e instanciarla para la misma funcionalidad.
El siguiente es un código completo que puede ejecutar en su computadora.
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 obtener más información sobre la clase abstracta, haga clic aquí.
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.
LinkedInArtículo relacionado - Java Error
- Arreglar Java fue iniciado por el código de salida devuelto = 1
- Arreglar JAVA_HOME no se puede determinar a partir del error de registro en R
- Arreglar java.io.IOException: No queda espacio en el dispositivo en Java
- Arreglar Java.IO.NotSerializableException en Java
- Arreglar Java.Lang.IllegalStateException de Android: no se pudo ejecutar el método de la actividad
- Arreglar Java.Lang.NoClassDefFoundError: No se pudo inicializar el error de clase