开发者社区> 问答> 正文

为什么在我的super()调用周围不能使用try块?

因此,在Java中,构造函数的第一行必须是对super的调用...是隐式调用super()还是显式调用另一个构造函数。我想知道的是,为什么我不能对此进行尝试?

我的具体情况是我有一个模拟类进行测试。没有默认的构造函数,但是我希望它使测试更易于阅读。我还想将构造函数抛出的异常包装到RuntimeException中。

展开
收起
游客ufivfoddcd53c 2020-01-03 16:30:19 869 0
1 条回答
写回答
取消 提交回答
  • 这样做是为了防止某人SecurityManager从不受信任的代码创建新对象。

    public class Evil : SecurityManager {
      Evil()
      {
          try {
             super();
          } catch { Throwable t }
          {
          }
       }
    }
    
    2020-01-03 16:30:38
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
建立联系方法之一 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载