throw new RuntimeException("Stub!");
几乎所有的android
源码实现都有throw new RuntimeException("Stub!");
这么一段代码,
我在自学android
,发现看不太懂,举个简单的例子
`
public boolean startActivityIfNeeded(Intent intent, int requestCode) {
throw new RuntimeException("Stub!");
}
`
这个方法的返回值为boolean
,是怎么返回的呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
Stub顾名思义,就是桩的意思。表示这个方法先写上,但是没有实际的功能。这个函数也不会返回,因为会引发异常。
我们有两种实现软件的方法,一个是先进行顶层设计,然后再具体实现。另一个是先设计细节,然后把它们组合在一起成为整体。桩代码在软件设计的时候很常见,它就是第一种设计方式的体现,函数调用先写出来,同时编写一个桩,这个桩只是为了让编译通过。
丢出异常的目的是当实际要调用它的时候,防止设计者遗忘,丢出异常很明显提醒调用者,这个代码没有实现。