是否可以使用Java在静态方法中创建静态对象

时间:2012-04-14 03:30:10

标签: java class methods static bluej

我有一个Java任务,我想知道我目前是否在正确的轨道上......

问题是我要创建一个新的类名Tester,它声明我不需要任何实例变量或构造函数。除了这个课程,我还有4个其他课程,分别是Product类,Lineitem课程,Inventory课程和金钱课程。

接下来我要添加一个方法:private static void addTestItems(inventory theInventory)

此方法允许我向清单添加四种不同类型的项目。对于每个,我将需要创建一个产品对象,然后创建一个包含该产品的Lineitem对象,然后使用addItem(),我在Inventory类中声明的方法,以添加产品对象。

该方法是私有的,因为它只是另一个主要方法的帮助:public static void test()在此方法中,我将使用此方法打印出一些输出,说明添加到清单中的产品。

我设法研究的是,在这样的类中,我不需要声明实例变量和构造函数。资料来源:http://www.allinterview.com/showanswers/62694.html中的答案#2。

然而,我想知道的是,如果我能够在此方法中创建静态产品对象。如果没有,我该如何宣布将产品对象添加到Inventory类中?

除了好奇心之外,通过不声明实例变量和构造函数并直接使用静态方法,这是否意味着这是一个静态类?有没有人有一个关于静态类或静态方法的好例子,或者与我所面临的非常相似?

顺便说一下,我正在使用BlueJ来完成我的作业。我要感谢所有人阅读或帮助我解决这个问题如果你发现这个问题是一个糟糕的问题,请评论并告诉我如何改进它。顺便说一句。

1 个答案:

答案 0 :(得分:3)

难道你不能在类上声明一个静态变量来保存你的库存吗?

private static List<inventory> list = new LinkedList<inventory>();

它不需要在构造函数或方法中,它只能是您的变量声明。由于您的类是静态的,因此只会初始化一次。