Java 断言p.name(“字符串”).equals(“子字符串”)
有没有办法替换上面代码中的“[??]”以使断言返回true?我不明白为什么方法Java 断言p.name(“字符串”).equals(“子字符串”),java,Java,有没有办法替换上面代码中的“[??]”以使断言返回true?我不明白为什么方法名称重载。但是您可以使用instanceof检查参数b的类型 interface Parent { public String name(Object b); } class Child implements Parent { public String name(Object b) { return [???]; } public String name(String b) { re
名称
重载。但是您可以使用instanceof
检查参数b
的类型
interface Parent {
public String name(Object b);
}
class Child implements Parent {
public String name(Object b) {
return [???];
}
public String name(String b) {
return "Child " + [???];
}
}
public class Exercise {
public static void main(String[] args) {
Parent p = new Child();
assert p.name("String").equals("Child String");
}
}
为什么
publicstringname(objectb)
甚至存在?首先,您应该确定main
方法调用了哪个name
方法。然后必须确保此方法返回“子字符串”。
public String name(Object b) {
if (b instanceof String) {
return name((String) b);
}
return "something else";
}
public String name(String b) {
return "Child " + b;
}