Android面试疑难杂症汇总
前言:
一. 本文内容来源分为3部分:1.作者面试亲身经历;2.作者工作中遇到的;3.网络
二. 本文会随着作者的经历不断更新
1. char i = 0; i+=1; i = i + 1;这两个语句对吗?为什么?
i+=1是对的,系统会自动把1转换为char型进行运算;
i = i + 1是错的,编译不通过,Type mismatch: cannot convert from int to char(类型不匹配,不能把int转换为char)。
2. try, catch, finally, throw, throws有什么区别?try里面可以再抛throw吗?
try自己的业务代码;catch捕获try的异常,finally try执行完后的处理
try语句块中有可能会发生多个异常,如果前面的代码发生了异常,不管这个异常是否被正确处理,异常代码后面的代码将不会被执行;
finally,不管try,catch,finally里面有没有return,也不管有没有发生异常,只要程序没有退出,finally里面的代码总会被执行。
throw和throws区别:
1.throw不能单独使用,要么和try-catch-finally一起使用,要么和throws一起使用。throws可以单独使用
2.throw在方法体内,是语句抛出异常;throws在方法声明()之前,是方法抛出异常。
try-catch-finally和throw,throws的区别
try-catch-finally是自己处理异常,调用者不用去关心
throw,throws谁调用谁处理
3. Android应用程序的入口点是什么?
Application的onCreate()方法,而不是Activity的onCreate()方法