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

问题描述 投票:0回答:3

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

ClassName ClassName1 = new ClassName();

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

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

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

java object bluej
3个回答
0
投票

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

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


0
投票

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

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

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


0
投票

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

键盘接受语句(末尾带有分号,不返回任何值)或表达式(不带分号,返回值)。

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

换句话说,mutators(语句)最后需要一个分号,而访问器(表达式)则不需要。

EG

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

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

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

  1. 在代码板中写(注意没有分号,因为我们对值感兴趣 - 实际上是对ClassName对象的引用[或者如果你愿意的话] - 从表达式返回):

new ClassName()

  1. 在代码中写入填充语句,然后调用引用变量(不带分号)
ClassName className1 = new ClassName();
className1
  1. 只在代码中写入语句
ClassName className1 = new ClassName();

1.和2.案件:

您将看到显示结果行,左侧有一个小红色对象图标。如果将鼠标悬停在红色框上,您将看到一个箭头,表示如果单击,结果将添加到对象工作台。单击,系统将要求您输入对象名称。保持原样(例如className1)并单击OK。

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

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

注意不要忘记mutator方法的最后一个分号,反之不要把它放在accessor方法中

在案例3中。

您将看到没有显示结果行,左侧有一个小红色对象图标。所以你不能使用对象工作台,只能使用代码板

© www.soinside.com 2019 - 2024. All rights reserved.