使用超级的原因
Reason for using super
在研究别人的代码时,我遇到了这个:
public class TestFailedError extends AssertionError {
private final String testName;
private final String testData;
public TestFailedError(final String testName, final String message) {
super(getDetailMessage(testName, message));
this.testName = testName;
this.testData = testName;
}
private static String getDetailMessage(String testData, String message) {
return "Test case " +testData+ " failed :"+ message;
}
}
我不明白 super() 这里的意义。 Reading up on super 没有帮助。
链接问题没有帮助的原因是因为它提供了示例
super.variable
和 super.method
,而我的是 super(method)
,所以不是很确定。
super(getDetailMessage(testName, message));
正在调用 AssertionError
构造函数,TestFailedError
继承自该构造函数,并将保存它收到的 String
。看起来像
public AssertionError(String str) {
// save str to local member
}
str
变量将包含方法 getDetailMessage
中的 return 字符串。
在研究别人的代码时,我遇到了这个:
public class TestFailedError extends AssertionError {
private final String testName;
private final String testData;
public TestFailedError(final String testName, final String message) {
super(getDetailMessage(testName, message));
this.testName = testName;
this.testData = testName;
}
private static String getDetailMessage(String testData, String message) {
return "Test case " +testData+ " failed :"+ message;
}
}
我不明白 super() 这里的意义。 Reading up on super 没有帮助。
链接问题没有帮助的原因是因为它提供了示例
super.variable
和 super.method
,而我的是 super(method)
,所以不是很确定。
super(getDetailMessage(testName, message));
正在调用 AssertionError
构造函数,TestFailedError
继承自该构造函数,并将保存它收到的 String
。看起来像
public AssertionError(String str) {
// save str to local member
}
str
变量将包含方法 getDetailMessage
中的 return 字符串。