BlueJ:通过键盘创建对象,它将出现在Object Bench中?

时间:2014-01-13 16:12:07

标签: java object bluej

我是编程的完全初学者,我从BlueJ的Java开始 我试图通过输入如下代码行来创建一个新对象:

ClassName ClassName1 = new ClassName();

确实会创建一个新对象,但新创建的对象不会出现在Object Bench中 它似乎在某个地方运行。

它会出现在Object Bench中,如果我通过右键单击该类创建一个新对象。

但有没有办法创建新对象,以便它也可以通过代码?

3 个答案:

答案 0 :(得分:0)

对象工作台更多用于实验而不是实际程序。它们用于分离每个对象并查看每个方法的运行方式。

您无法从Java库中添加对象,但如果您使用BlueJ API,则可以这样做,因为您可以使用BObject中的addToBench方法。但除此之外,没有办法通过Java API提供方法。

答案 1 :(得分:0)

有几种方法可以做到这一点:

如您所述,您可以在键盘中创建对象。结果对象将显示为显示结果的代码行旁边的小红色对象。您可以将这个小对象拖到对象工作台上。

或者,您可以使用“工具”菜单中的“使用库类...”功能从Java库类创建对象并将其放置在对象工作台上。

答案 2 :(得分:0)

对于BlueJ 4.1.2 如BlueJ的帮助->交互式教程中所述 (需要15分钟,值得一看)

  

键盘接受语句(末尾用分号,   不返回值)或表达式(不带分号,返回一个   值)。

陈述是一个以分号结尾的表达式

换句话说,变量(语句)的末尾需要分号,而访问器(表达式)则不需要分号。

例如

new ClassName()  // is an expression
new ClassName(); // is a statement

请注意,了解楼上引用的部分(表达式Vs语句)对于利用键盘的正确使用非常重要

在您的示例中,您有三个选择:

  1. 用Code Pad编写(注意,不带分号,因为我们对值感兴趣-实际上是对ClassName对象的引用(如果需要,可以引用实例)从表达式返回):
  

new ClassName()

  1. 在Code Pad中编写该语句,然后调用引用变量(不带分号)
ClassName className1 = new ClassName();
className1
  1. 仅在密码键盘中写以下语句
ClassName className1 = new ClassName();

在1.和2.情况下:

  

您会看到一条结果行,其中带有一个小的红色对象图标   左边。如果将鼠标悬停在红色框上,则会看到一个箭头   表示如果单击,结果将被添加到对象   板凳。单击,然后将要求您输入对象名称。保留为   是(例如 className1 ),然后单击“确定”。

     

现在 className1 位于对象工作台上,我们可以使用它(调用他的   方法)。例如。将下面的行写在   键盘(用实际方法替换arg,   参数),然后按Enter:

className1.accessorMethod1()
className1.mutatorMethod2(arg1, arg2);
etc

请注意不要忘记关于mutator方法的最后一个分号,相反不要将其放在访问方法中

在情况3中。

  

您将看不到结果行,在屏幕上带有一个红色的小对象图标   左边。   因此,您不能使用对象平台,而只能使用代码垫