happymeddling:程序高手来看看

来源:百度文库 编辑:高校问答 时间:2024/05/02 08:07:55
package mytest;
public class test{
public test(){
}
public static void main(String[] argv){
test1 t1=new test1();
test2 t2=new test2();
test1 t3=null;
System.out.println(t1.toString());
t3=t1;
t1=(test1)t2;
System.out.println(t1.toString());
t2=(test2)t3;
System.out.pringln(t2.tostring());
}
}
class test1(){
public String toString(){
return "this is test1!";
}
}
class test2 extends test1{
public String toString(){
return "this is test2!";
}
}

请问结果。
我运行老是出错。
麻烦各位给出结果就好了,急

应该有提示几段错误的~~~能具体说一下吗???最好把那段英文也给打上~~~我一眼看上去眼睛都花了

出错是必然的,只不过是运行时错误,不是编译错误。
t2=(test2)t3; 这句有错,t3是test1类,不能转换到其子类test2。抛出ClassCastException异常并中止运行。
可以看出是一道题,打字错误难免,呵呵~

运行结果如下:
this is test1!
this is test2!
Exception in thread "main" java.lang.ClassCastException: mytest.test1
at mytest.test.main(test.java:13)

我研究了半天,终于发现你只是出了点小错误而已,
System.out.pringln(t2.tostring());
println写错了,还有toString s大写
还有test1类中,不要()

public class test{
public test(){
}
public static void main(String args[]){
test1 t1=new test1();
test2 t2=new test2();
test1 t3=null;
System.out.println(t1.toString());
t3=t1;
t1=(test1)t2;
System.out.println(t1.toString());
t2=(test2)t3;
System.out.println(t2.toString());
}

}

class test1{
public String toString(){
return "this is test1!";
}
}

class test2 extends test1{
public String toString(){
return "this is test2!";
}
}

把上面保存为test.java可以运行成功!我刚测试!

你错在哪,请自己对一下,大小写,test1()不要这个()等等

ToString()