Java 银行账户中账号的新类

Java 银行账户中账号的新类,java,Java,我正在做一个增强的BankAccount类,以了解抽象和封装如何实现软件的进化变化 现在我知道下面的程序还没有完成,但我想把账号移到课堂之外。 如果将帐号移出类,我不知道这是否意味着我必须创建一个全新的类。我知道一个程序每个java文件可以有多个类,但只有一个可以是公共的,我只是不知道我是否真的需要它。我应该为我的账号设置新的类吗?如果我做到了,我能在最后把它扔进去吗?我不知道该怎么办!对不起,我经常问我的教授,但他总是绕着话题转,从不回答我关于课堂的问题 我是java新手,所以不要给我完整的代

我正在做一个增强的BankAccount类,以了解抽象和封装如何实现软件的进化变化

现在我知道下面的程序还没有完成,但我想把账号移到课堂之外。 如果将帐号移出类,我不知道这是否意味着我必须创建一个全新的类。我知道一个程序每个java文件可以有多个类,但只有一个可以是公共的,我只是不知道我是否真的需要它。我应该为我的账号设置新的类吗?如果我做到了,我能在最后把它扔进去吗?我不知道该怎么办!对不起,我经常问我的教授,但他总是绕着话题转,从不回答我关于课堂的问题

我是java新手,所以不要给我完整的代码!我想学习

这是老师给我的程序(不完整):


对于您的情况,我建议将
AccountNumber
设置为
BankAccount
的静态嵌套类

public class BankAccounts {  

    public static class AccountNumber {
        // your class declaration
    }

    // other methods/properties
}
如果任何其他类的对象需要访问您的
AccountNumber
实例,则可以将其公开。如果不是这样,那么你可以把它保密。这样,只有
BankAccounts
成员才能实例化
AccountNumber
对象


从您的示例程序来看,您的帐号似乎非常简单(只是一个
int
)。对于这样简单的事情,创建一个单独的类是过分的。

好吧,这很有意义!但是,当我必须为账号创建一个新类时,这是否意味着当我创建数字生成器来创建账号(在私人银行账户()中找到)时,我会将其移动到我创建的新类中,还是将其保留在那里?@Morgan:是的,您也会将账号生成逻辑移动到新类中。每当有人创建
AccountNumber
的实例时,此代码将使用该逻辑生成一个帐号。更好的是,您可以在名为
generate
的新类中声明一个私有方法,您可以从构造函数中调用该方法来生成您的帐号。generate方法是否无效?@Morgan:否,因为它将生成并返回您的帐号。如果选择使用
int
,则返回类型为
int
。如果是字符串,则返回类型将是
string
,依此类推。这里需要考虑的另一个主题是组合:。您当前有一个帐户号码的
原语
表示。通过引入一个类(对象)来表示数据,您将迁移到面向对象编程,该编程涉及您所述的其他主题:封装、抽象。
public class BankAccounts {  

    public static class AccountNumber {
        // your class declaration
    }

    // other methods/properties
}