java - Account子类对象创建

标签 java instance subclass

所以我有一个关于如何在JAVA中创建子类实例的问题。是的,这是年级的家庭作业,我已经完全实现了一个具有默认值的主类和一个 Account 类的参数化构造函数。

我创建了两个子类:储蓄和支票。作业书中唯一的规定是支票账户的取款不能超过 overdraw 限额,而储蓄账户根本不能 overdraw 。

class Checking extends Account{
        double overdraftLimit = -100;

        public void withdraw(double w) {
            if (balance - w < overdraftLimit)
                    System.out.println("You can't overdraft more than $100.");
            else
                balance = balance - w;
        }    
    }

class Savings extends Account{
        double overdraftLimit = 0;

        public void withdraw (double w) {
            if (balance - w < overdraftLimit)
                    System.out.println("You don't have enough money, fool.");
            else
                balance = balance - w;
        }
    }

我的问题是,我不确定如何创建特定子类的实例,SavingsChecking。有人对我有建议吗?在我的父类 Account 中,我已经有一个 withdraw ( double w ) 方法,例如 balance -= w。我已经在每个子类中重写了withdraw方法。我的代码编译并运行,但在问题中,我被指示编写一个测试程序,该程序创建 AccountSavingsChecking 类型的对象并调用其 toString() 方法。我已经和我的导师谈过了,这个问题在打印之前没有完全完成,因为没有关于 Checking 帐户允许的 overdraw 限额的说明。

也没有提及我应该调用的 toString() 方法,因此我跳过了这部分作业。

最佳答案

如果我正确理解您的问题(并随时澄清),您需要为每个类创建一个构造函数:

public Checking(){
    super();
    //other initialization
}

public Savings(){
    super();
    //other initialization
}

并使用关键字new从您的main调用它们:

Savings mySavings = new Savings();
Checking myChecking = new Checking();
Account myAccount = new Account();

关于java - Account子类对象创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23283954/

相关文章:

Python-创建类的对象而无需在创建时重复自己

java - 使用自定义对象数组列表实例化 fragment

android - 如何使用 Intent 从第三个 Activity 返回到第二个 Activity

ios - 如何更改子类上的变量数据类型

ios - 使用 WKWebView 创建自定义 ORKStep

c++ - 我的类的静态实例函数没有按预期工作

java - 使用 StringTokenizer 以数组形式获取数据,Java

java - 安卓 : How can i make my application multilingual?

JavaFX .jar 适用于 Windows 和 OSX,但不适用于 Linux

java - 如何使具有多个整数和字符串的类可解析?