Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
2 views

import java - Copy

The document contains Java code defining an abstract class for bank accounts and two subclasses: CreditAccount and SavingsAccount. It also includes a Bank class that manages a list of accounts and provides methods to display all accounts and only credit accounts. The Main class demonstrates adding accounts and displaying them using the Bank class methods.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

import java - Copy

The document contains Java code defining an abstract class for bank accounts and two subclasses: CreditAccount and SavingsAccount. It also includes a Bank class that manages a list of accounts and provides methods to display all accounts and only credit accounts. The Main class demonstrates adding accounts and displaying them using the Bank class methods.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

import java.util.

ArrayList;

import java.util.List;

abstract class AbstractBankAccount {

protected String accountNumber;

protected double balance;

public AbstractBankAccount(String accountNumber, double initialBalance) {

this.accountNumber = accountNumber;

this.balance = initialBalance;

public String getAccountNumber() {

return accountNumber;

public double getBalance() {

return balance;

public abstract void deposit(double amount);

public abstract void withdraw(double amount);

@Override

public String toString() {

return "Account Number: " + accountNumber + ", Balance: " + balance;

// CreditAccount.java
class CreditAccount extends AbstractBankAccount {

private double creditLimit;

public CreditAccount(String accountNumber, double initialBalance, double creditLimit) {

super(accountNumber, initialBalance);

this.creditLimit = creditLimit;

@Override

public void deposit(double amount) {

if (amount > 0) {

balance += amount;

@Override

public void withdraw(double amount) {

if (amount > 0 && (balance + creditLimit) >= amount) {

balance -= amount;

@Override

public String toString() {

return super.toString() + ", Credit Limit: " + creditLimit;

// SavingsAccount.java

class SavingsAccount extends AbstractBankAccount {


public SavingsAccount(String accountNumber, double initialBalance) {

super(accountNumber, initialBalance);

@Override

public void deposit(double amount) {

if (amount > 0) {

balance += amount;

@Override

public void withdraw(double amount) {

if (amount > 0 && amount <= balance) {

balance -= amount;

// Bank.java

class Bank {

private List<AbstractBankAccount> accounts;

public Bank() {

accounts = new ArrayList<>();

public void addAccount(AbstractBankAccount account) {

accounts.add(account);

}
public void showAllAccounts() {

System.out.println("All Accounts:");

for (AbstractBankAccount account : accounts) {

System.out.println(account);

public void showAllCreditAccounts() {

System.out.println("All Credit Accounts:");

for (AbstractBankAccount account : accounts) {

if (account instanceof CreditAccount) {

System.out.println(account);

public class Main {

public static void main(String[] args) {

Bank bank = new Bank();

// Add different types of accounts

bank.addAccount(new CreditAccount("CA123", 1000.0, 5000.0));

bank.addAccount(new SavingsAccount("SA456", 2000.0));

bank.addAccount(new CreditAccount("CA789", 1500.0, 3000.0));

// Show all accounts

bank.showAllAccounts();

// Show only credit accounts

bank.showAllCreditAccounts();
}

You might also like