我是java新手,我需要使用SuperTest类制作2个测试类。 现在我有以下内容:
这是我的最高级。我想在这里做的是把结果放在它应该给。
public class SuperTest
{
public void test (Zoeker zoeker)
{
assertArrayEquals(new int[] {21, 27}, zoeker.zoek("AC"));
assertArrayEquals(new int[] {5, 9}, zoeker.zoek("GC"));
assertArrayEquals(new int[] {0, 11, 15}, zoeker.zoek("AT"));
}
}
这是我的一个测试类。在这里,我想创建一个对象,使用supertest类的方法测试Algoritme1类。
public class Test1 extends SuperTest
{
Zoeker zoeker;
@Test
public void Algoritme1()
{
SuperTest algoritm1 = new SuperTest();
algoritm1.test(zoeker);
}
}
此刻我得到一个空指针异常。
答案 0 :(得分:1)
你得到一个空指针异常,因为你定义了一个名为zoeker的字段但没有初始化它。与C不同,Java变量都是引用(相当于C中的指针),因此Test1中的zoeker为null:它不代表对象,而是表示该对象的空容器,用非专业术语来说。
我不太确定你想要实现的目标,但最简单的解决方法是添加:
zoeker = new Zoeker();
,它将阻止NullPointerException。