在Eclipse中,使用另一种数据类型定义数据类型,只有后一个测试客户端main()运行,如何只运行第一个?

时间:2013-04-05 15:30:09

标签: java eclipse

这是一个与作业相关的问题所以我最好不要发布任何代码,但我的问题是具体的。

我是Eclipse新手所以我只想知道我所看到的是否正常以及是否有出路。

我所做的是定义一个数据类型,这个类包括构造函数,方法,测试客户端(static void main())。我在外部库中使用了另一个类的另一种数据类型。现有数据的名称type是WeightedQuickUnionUF,我们简称为WQUF。

我实例化了一个WQUF类型的变量来使用WQUF所拥有的方法。我在我的类的底部编写了一个测试客户端(static void main())来检查我的方法是否正常工作。我使用了像10这样的常量初始化我的数据类型变量的参数。然后我在该变量上使用了我的方法。我使用了一些println语句来输出变量的状态,以查看我的方法是否有效。

当我单击Run运行我的类时,控制台显示WQUF类正在运行并等待输入。我打开了WQUF.class.Yes,里面有一个测试客户端void main()

我的目的只是在WQUF中使用方法和私有变量,当然我看不到私有变量。我不想运行需要输入的WQUF测试客户端。

我的问题是,我面临的情况是否正常?有没有办法避免运行WQUF测试客户端?

PS:Findbugs发现了2个错误。等等。

  

我的WeightedQuickUnionUF实例变量和值的死存储   变量未使用

。另一个是那个

  

WeightedQuickUnionUF是一个未写字段

。不知道这是什么意思。相关或误报。

2 个答案:

答案 0 :(得分:1)

我认为这与Eclipse无关,但更像是Java新手,并且还没有弄清楚它是如何工作的。

执行Java程序的主要入口点是“public static void(String [] arguments)”。这是您实例化第一个对象的地方(也许可以调用它的一些方法)。因此,当您在Eclipse中右键单击您的类并选择“Run as java app”时,它将自动查找这样的main方法并调用它。那么当你运行它时会发生什么,这取决于你在主方法中编写的代码...

也许您应该发布您的2个课程,以便我们更容易理解您的问题并引导您朝着正确的方向前进。

作为旁注:

  • “dead store”表示您在不使用它的情况下为字段/变量赋值
  • “unwritten field”表示您在尝试使用它之前没有为其赋值(来自定义,构造函数,方法等),因此它始终为null

此外,当您对Java感到满意时,您可以查看JUnit或TestNG库,这些库旨在帮助您以标准化方式测试代码,而不是使用主要方法。

干杯

答案 1 :(得分:0)

我的问题是,我面临的情况是正常的吗? 这绝对正常,这就是我们所说的封装。

有没有办法避免运行WQUF测试客户端? 您想制作自己的测试客户端方法吗?尝试从WQUF类扩展,因此它将MyWQUF类,然后覆盖testClient()方法。