这个问题只是让我理解这个概念。如何将null抛给(Throwable)?null不是类,对吗?这个问题可能很愚蠢。
我知道:
public class SuperClass{
int id = 0;
public SuperClass(int id){
this.id = id;
}
}
public class SubClass extends SuperClass{
public SubClass(int id) {
super(id);
}
}
public class Tester{
SubClass sub = new SubClass(1);
SuperClass s = new SuperClass(2);
SuperClass s1 = new SubClass(3);
public Tester(){
if(s1 instanceof SubClass){
//true
SubClass subClass = (SubClass) s1;
}
}
}`发布于 2016-04-13 07:51:13
如何将null抛给(Throwable)?null不是类,对吗?
null没有类型。null可以转换为任何类或接口类型。它不能被投给一个原始的人。
可抛是java.lang包中的一个类。
你不能转换类,只有引用。
String s = "Hello";在这里,变量s是引用,而不是类或对象,甚至不是String。
Throwable t = new Throwable();在这里,变量t是对Throwable的引用,但它可以设置为null;
Throwable t = null; // the reference doesn't point to any object.发布于 2016-04-13 07:48:10
需要注意的关键是,在结果再次为null之后,可以将null强制转换为任何引用类型。
发布于 2016-04-13 07:48:56
null不是类型。它在概念上可以与任何类的实例相比较。
String s = (String)null;
Integer i = (Integer)null;https://stackoverflow.com/questions/36591777
复制相似问题