Java 在未知区域中输入什么可以使断言为真?
这是一道测试题。我可以添加到[???]中,但不能编辑代码的其余部分。我应该补充什么Java 在未知区域中输入什么可以使断言为真?,java,assertion,Java,Assertion,这是一道测试题。我可以添加到[???]中,但不能编辑代码的其余部分。我应该补充什么 class Primary{Primary(String name){this.name=name;}String name;} class Secondary extends Primary{[?????]} public class Exercise{ public static void main(String [] arg){ assert (!new Secondary().name.
class Primary{Primary(String name){this.name=name;}String name;}
class Secondary extends Primary{[?????]}
public class Exercise{
public static void main(String [] arg){
assert (!new Secondary().name.equals(new Secondary().name));
}
}
依我看,你的问题不清楚。除了更改B的构造函数外,该断言可能始终为false
public class Test {
class A{
String name;
A(String name){
this.name = name;
}
}
class B extends A{
B(String name){
//super(name + "something else"); //asseration will be true.
super(name);
}
}
public static void main(String[] args){
Test t = new Test();
A a = t.new A("uttp");
B b = t.new B("uttp");
System.out.println(!a.name.equals(b.name));
}
}
这里有一个答案,它只对问题的[??]部分进行了严格的修改:
class A{A(String name){this.name=name;System.out.println(name+" <-- name");}String name;}
class B extends A{
static int instanceCount = 0;
public B() {
super(instanceCount++ % 2 == 0 ? "CandiedOrange" : "uttp");
}
}
public class Exercise{
public static void main(String [] arg){
//assert(false);
assert (!new B().name.equals(new B().name));
}
}
class A{A(字符串名){this.name=name;System.out.println(name+”@RoguePakeha最受欢迎。记住向上投票并接受答案。
CandiedOrange <-- name
uttp <-- name