0

好的,我需要有人向我解释从哪里开始这个项目。

首先,我需要通过向Person添加一个默认(无参数)构造函数来重载构造函数,该构造函数定义了一个名称为“N/A”且 id 为 -1 的对象。

然后我需要添加一个名为 reset 的 setter 方法,该方法可用于将此类的两个私有实例变量重置为作为参数传入的两个值。

然后我需要添加一个名为 getName 和 getId 的 getter 方法,可用于检索这两个私有变量

这是代码:

public class Person
{
private String name;
private int    id;
private static int personCount = 0;

// constructor
public Person(String pname)
{
name = pname;
personCount++;
id = 100 + personCount;
}



public String  toString()
{
 return "name: " + name + "  id: " + id
  + "  (Person count: " + personCount + ")";
}

// static/class method
public static int getCount()
{
  return personCount;
}

////////////////////////////////////////

public class StaticTest
{
  public static void main(String args[])
{
    Person tom = new Person("Tom Jones");
    System.out.println("Person.getCount(): " + Person.getCount());
    System.out.println(tom);
    System.out.println();

    Person sue = new Person("Susan Top");
    System.out.println("Person.getCount(): " + Person.getCount());
    System.out.println(sue);
    System.out.println("sue.getCount(): " + sue.getCount());
    System.out.println();

    Person fred = new Person("Fred Shoe");
    System.out.println("Person.getCount(): " + Person.getCount());
    System.out.println(fred);
    System.out.println();

    System.out.println("tom.getCount(): " + tom.getCount());
    System.out.println("sue.getCount(): " + sue.getCount());
    System.out.println("fred.getCount(): " + fred.getCount());
}
}

我不确定从哪里开始,我不想要答案。我正在找人解释清楚。

4

2 回答 2

0

我强烈推荐查阅Java 教程,这在这里应该很有帮助。例如,有一个关于构造函数的部分详细说明了它们是如何工作的,甚至给出了一个无参数形式的例子:

虽然Bicycle只有一个构造函数,但它可以有其他构造函数,包括无参数构造函数:

public Bicycle() {
    gear = 1;
    cadence = 10;
    speed = 0;
}

Bicycle yourBike = new Bicycle();调用无参数构造函数来创建一个Bicycle名为 的新对象yourBike

同样,也有专门用于定义方法并将信息传递给它们的部分。甚至还有一个关于从您的方法返回值的部分。

阅读以上内容,您应该能够完成作业:-)

于 2012-09-12T02:17:38.940 回答
0

首先,我需要通过向 Person 添加一个默认(无参数)构造函数来重载构造函数,该构造函数定义了一个名称为“N/A”且 id 为 -1 的对象。

在此处阅读有关构造函数的信息。

Person 类已经包含一个接受 1 个参数的 ctor。您需要做的是创建一个“默认 ctor”,它通常是一个不带任何参数的 ctor。

例子:

class x
{
   // ctor w/ parameter
   //
   x(int a)
   {
      // logic here
   }

   // default ctor (contains no parameter)
   //
   x()
   {
     // logic here
   }
}

然后我需要添加一个名为 reset 的 setter 方法,该方法可用于将此类的两个私有实例变量重置为作为参数传入的两个值。

Setter 方法用于通过公共函数“设置”成员变量的值来“封装”成员变量。见这里

例子:

class x
{
   private int _number;

   // Setter, used to set the value of '_number'
   //
   public void setNumber(int value)
   {
     _number = value; 
   }
}

然后我需要添加一个名为 getName 和 getId 的 getter 方法,可用于检索这两个私有变量

吸气剂则相反。它们不是“设置”私有成员变量的值,而是用于“获取”成员变量的值。

例子:

class x
{
   private int _number;

   // Getter, used to return the value of _number
   //
   public int getNumber()
   {
      return _number;
   }
}

希望这可以帮助

于 2012-09-12T06:44:52.377 回答