El constructor de Java no se está comstackndo correctamente

Soy un novato en Java y acabo de empezar las clases recientemente, así que todavía estoy aprendiendo cómo funciona todo en él, así que tengan paciencia mientras trato de comprender todo este nuevo material.

Tengo una tarea que requiere que una cuenta bancaria pueda transferir fondos de una cuenta de cheques y de ahorros. Las transacciones se almacenan en listas de arrays y configuraciones para que el usuario especifique cuándo transferir los fondos. La clase de cuenta bancaria para cheques y ahorros funciona bien, pero la clase de servicios de transferencia que creé no está comstackndo correctamente en my ide netbeans que estoy usando.

Mi instructor reformuló parte de mi código para ayudar, pero aún no se comstack y las sugerencias no parecen corregir los errores. Obtengo que la transacción es abstracta y no se puede crear una instancia. No estoy muy seguro de qué puedo hacer para corregir ese error, por lo que cualquier ayuda sería muy apreciada.

import java.util.ArrayList; import java.util.Date; import javax.transaction.Transaction; public class TransferService { private Date currentDate; private ArrayList completedTransactions; private ArrayList pendingTransactions; public void TransferService(){ this.currentDate = new Date(); this.completedTransactions = new ArrayList(); this.pendingTransactions = new ArrayList(); } public TransferService(BankAccount to, BankAccount from, double amount, Date when) throws InsufficientFundsException(){ if (currentDate.after(when)){ try( from.withdrawal(amount); to.deposit(amount); completedTransactions.add(new Transaction(to, from, this.currentDate, Transaction.TransactionStatus.COMPLETE)); } catch (InsufficientFundsException ex){ throw ex; } } else { pendingTransactions.add(new Transaction(to, from, null, Transaction.TransactionStatus.PENDING)); } } private static class InsufficientFundsException extends Exception { public InsufficientFundsException() { System.out.println("Insufficient funds for transaction"); } } 

Los constructores no tienen tipo de devolución. Entonces no

 // this is a "pseudo"-constructor public void TransferService(){ 

mas bien

 // this is the real deal public TransferService(){ 

Respecto a,

La transacción es abstracta y no puede ser instanciada

Bueno, ¿verdad? ¿La clase Transaction es una clase abstracta o una interfaz? Solo tú que tienes el código conoce la respuesta a esto. Si esto es cierto, entonces deberá usar una implementación concreta de Transaction en su código.

Intereting Posts