Java 创建此对象时遇到问题
我对java非常陌生,并试图掌握如何使用两个不同的值创建对象。 我试图创建一个名为Customer的Customer对象,初始值为1和cust1,然后使用toString()将Customer对象显示到输出中 提前谢谢你的帮助 这是我目前拥有的Java 创建此对象时遇到问题,java,Java,我对java非常陌生,并试图掌握如何使用两个不同的值创建对象。 我试图创建一个名为Customer的Customer对象,初始值为1和cust1,然后使用toString()将Customer对象显示到输出中 提前谢谢你的帮助 这是我目前拥有的 public class Customer { private int id; private String name; public Customer(int id, String name) { this.id = id;
public class Customer {
private int id;
private String name;
public Customer(int id, String name) {
this.id = id;
this.name = name;
Customer customer = new Customer(1, "cust1");
}
不要在类构造函数中创建新的对象实例-这将导致
StackoverFlowException
public class Customer {
private final int id;
private final String name;
public Customer(int id, String name) {
this.id = id;
this.name = name;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
}
在一个单独的类中,您可以使用
Customer customer = new Customer(1, "Name");
你的程序没有入口点,在你的课堂上应该是这样的
public static void main(String[] args)
{
//objects created here
}
您还可以创建一个Customer
对象作为Customer
类的成员,这意味着每个Customer
对象都包含另一个
您不能像这样设置Customer
成员
Customer customer = new Customer(); //you also don't have a no argument constructor
customer = 1; //how would it know where to put this 1?
customer = cust1; //same as above
就像这样(如果他们在正确的地方,如上所述)
还是像这样
new Customer(1,"cust1");
总之
- 你需要一个入口
- 您正在使用无参数构造函数创建
,但您只有一个有两个参数的构造函数Customer
- 出于某种原因,您正在每个
内部创建一个客户
客户
- 您没有以正确(甚至有效)的方式设置
客户
对象的成员
Customer
类中创建你的Customer
(不是为了你的目的)。它应该由另一个类或在您的入口点方法中创建。您希望在何处使用Customer对象?这就是您应该创建Customer对象的地方。可能在你们的主课上。这节课是关于不可变类的,我不确定我是否真的理解它们,但这就是它所说的要做的。它说1)创建一个名为Customer的Customer对象,初始值分别为1和“Cust1”。2) 使用toString()方法在屏幕上显示customer对象。3) 创建一个名为name的字符串对象引用,并为其指定客户的名称。4) 将值“Bo Beep”指定给对象引用名称。5) 使用toString()方法在屏幕上显示customer对象。最大的问题之一是,每次创建customer
对象时,都会用它创建另一个customer
,然后再创建另一个。这就好比每个刚出生的婴儿都已经怀孕,你只会得到无限的Customer
s,你的构造器永远不会回来。
new Customer(1,"cust1");