昨天去华为面试了一下过了四关,可惜最后一关跨了,虽然有点遗憾!
有一道题目是这样的:
package test;
class Base{}
class sub1 extends Base{}
class sub2 extends Base{}
public class Test3 { public static void main(String[] args) {
Base b = new Base();
sub1 s = (sub1)b;
}
}
编译出现的错误:java.lang.ClassCastException
at test.Test3.main(Test3.java:22)
Exception in thread "main" 为何?
有一道题目是这样的:
package test;
class Base{}
class sub1 extends Base{}
class sub2 extends Base{}
public class Test3 { public static void main(String[] args) {
Base b = new Base();
sub1 s = (sub1)b;
}
}
编译出现的错误:java.lang.ClassCastException
at test.Test3.main(Test3.java:22)
Exception in thread "main" 为何?
Base b = new sub1();
sub1 s = (sub1)b;
}这样改就没有问题了
package test;
class Base{}
class sub1 extends Base{}
class sub2 extends Base{}
public class Test3 { public static void main(String[] args) {
Base b = new Base();
b=null;
sub1 s = (sub1)b;
}
}
b=null;
sub1 s = (sub1)b;这样会没有问题???
问题大了去了
这是个典型的 cast down 的错误~
能够解决在IE浏览器中打印各种复杂的中国式报表及票据。详见: http://218.30.103.110:8080/eprint/index.htm
方成eform自定义表单平台,纯BS结构.100%开放源码.可以在 http://218.30.103.110:8080/eform/index.html 在线试用.
去华为搞java不合适
怎么说呀?
A一定是B,而B不一定是A
华为居然出这种题???
class sub1 extends Base{}
class sub2 extends Base{}public class Test3
{ public static void main(String args[])
{
Base b = new sub1();
sub1 s = (sub1)b; } }这样我运行的时候还是有问题,要把package语去掉才行。不然
Exception in thread "main" java.lang.NoClassDefFoundError: Test3 (wrong name: te
st/Test3)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
为什么?
at test.Test3.main(Test3.java:22)
Exception in thread "main" 这是异常,当然不应该是编译错误
应该楼主描述有问题
还不如去无锡永中搞Office
va
public class Test3 ^
1 error
A一定是B,而B不一定是A,如果 Base b = new Base();sub1 s = (sub1)b;这句反过来就可以了,呵呵
结帖!
是楼主不细心吧。Base b = new Base();
sub1 s = (sub1)b;如果这样都能成功,那就跳楼了