RuntimeExtension.class - “.class”是什么意思?

时间:2014-10-08 21:10:55

标签: java junit

我已经阅读了Junit ExpectedException类的文档,并且.expect()方法的参数似乎在我研究的所有示例中都奇怪地实现了。传入预期的异常类型时,它的.class扩展名似乎不是任何类型的方法。

有人可以解释一下这个语法吗?谢谢。示例代码如下:

public ExpectedException thrown = ExpectedException.none();

public void testPlusException() {
    thrown.expect(RuntimeException.class);
    Vector testVector = vector1.plus(vector3);

}

2 个答案:

答案 0 :(得分:2)

在类型上调用.class获取特定类型的类对象。您可以在此处详细了解具体细节。

http://docs.oracle.com/javase/tutorial/reflect/class/classNew.html

答案 1 :(得分:2)

虽然在Object类的Java文档中没有提到,但是从Object派生的所有类都有一个public static Class<T> class成员,用于存储所述对象的运行时类型。

当你在一个对象上调用getClass()时,它也是返回的内容,请记住Java中的所有方法都是virtual