【问题标题】:Creating constructor that creates an account创建创建帐户的构造函数
【发布时间】:2011-11-07 06:45:48
【问题描述】:

我需要创建一个构造函数来创建一个帐户。它将要求用户输入一个 ID 号(4 位数字),它会创建一个包含 $0 的帐户。稍后用户将能够添加和减去钱,我可以自己做。我只是对如何构建构造函数感到非常困惑。这是我的代码:

import java.util.*;
public class Account{
public static void main(String[] args){
    int id = 0;
    double balance = 0;
    Account account = new Account();
}
public Account(){
}
}

public Account() 是构造函数吗?或者它只是一个对象?如果它是构造函数,我究竟需要做什么来创建帐户? (在构造函数中还是在另一个类中创建方法?)

【问题讨论】:

  • 您需要将int id=0;double balance=0; 行放入实际的构造函数中(而不是main() 方法)。
  • 是的,他们将在另一个班级,我将从那里调用这个班级。有错请见谅

标签: java methods constructor


【解决方案1】:

是的public Account(),是构造函数,构造函数没有返回类型,它们必须与类命名完全相同。

构造函数必须在同一个类中。

你不需要在你的构造函数中做任何事情,除非你想为你的Account类初始化一些属性。无参数构造函数实例化一个对象,因为编译器将在构造函数的第一行插入对super() 的调用。 Super 会在层级树中向上调用构造函数,一直到Object

事实上,你甚至不必编写无参数构造函数,除非你的 Account 类中有另一个构造函数接受一个或多个参数,因为如果没有任何参数,编译器将提供一个无参数构造函数显式构造函数。

【讨论】:

  • 好的,谢谢。创建构造函数有什么意义?如果您在另一个窗口中有另一个类可以调用来计算事物,您是否必须有一个?
  • @Josh 您需要构造函数来实例化一个对象,这是在您对该对象执行任何操作之前所必需的。如果你不提供,编译器将默认提供一个无参数的构造函数。
  • 哦,好的。谢啦!现在只需创建我所有的方法来完成所有这些任务。然后给他们打电话。你完美地回答了我的问题!再次感谢!
【解决方案2】:

作为记录,您的代码应如下所示。您的类属性在方法之外声明,初始化它们的工作在构造函数中(Account()) .

import java.util.*;
public class Account{
    int id;
    double balance;
    public static void main(String[] args){
        Account account = new Account();
    }
    public Account(){
        id = 0;
        balance = 0;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 2015-07-20
    • 1970-01-01
    • 2014-01-10
    • 2012-09-28
    相关资源
    最近更新 更多