首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将空抛给Throwable super((Throwable) null );

如何将空抛给Throwable super((Throwable) null );
EN

Stack Overflow用户
提问于 2016-04-13 07:44:46
回答 4查看 690关注 0票数 1

这个问题只是让我理解这个概念。如何将null抛给(Throwable)?null不是类,对吗?这个问题可能很愚蠢。

我知道:

代码语言:javascript
复制
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;
        }
    }       
}`
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-04-13 07:51:13

如何将null抛给(Throwable)?null不是类,对吗?

null没有类型。null可以转换为任何类或接口类型。它不能被投给一个原始的人。

可抛java.lang包中的一个类。

你不能转换类,只有引用。

代码语言:javascript
复制
String s = "Hello";

在这里,变量s是引用,而不是类或对象,甚至不是String

代码语言:javascript
复制
Throwable t = new Throwable();

在这里,变量t是对Throwable的引用,但它可以设置为null

代码语言:javascript
复制
Throwable t = null; // the reference doesn't point to any object.
票数 1
EN

Stack Overflow用户

发布于 2016-04-13 07:48:10

需要注意的关键是,在结果再次为null之后,可以将null强制转换为任何引用类型。

票数 1
EN

Stack Overflow用户

发布于 2016-04-13 07:48:56

null不是类型。它在概念上可以与任何类的实例相比较。

代码语言:javascript
复制
String s = (String)null;
Integer i = (Integer)null;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36591777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档