Android面试题记录(1)

问题1.广播有哪几种注册的方式?各有什么不同?

~
参考答案:

广播有两种注册方式:
#1.动态注册
代码中注册,动态注册广播一定要记得取消注册
可以自由的控制注册与注销,在灵活性方面有很大优势
#2.静态注册
在AndroidMainfest.xml中注册
在程序未启动的情况下也可以获得广播,需要启动一次程序

问题2.怎么监听ScorllView滑动到了底部

~
参考答案:
Android监听ScrollView滑动到顶端和底部
Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)


问题3.View中的onTouch,onTouchEvent和onClick的执行顺序

~
参考答案

onTouch()→onTouchEvent()→onClick()

来源:feidu的专栏
从源码角度带你分析 Android View 事件分发 dispatchTouchEvent,onTouch,onTouchEvent,onClick逻辑顺序过程(一)


问题4.为什么要用static修饰符

~
参考答案:

1.静态变量和方法无需创建新对象即可使用。
2.一个类中,一个static变量只会有一个内存空间,虽然有多个类实例,但这些类实例中的这个static变量会共享同一个内存空间。
3.static的变量是在类装载的时候就已经被初始化了。也就是说,只要类被装载,不管你是否使用了这个static变量,它都会被初始化。

static的基本原则

1、一个类的静态方法只能访问静态属性,不能直接调用非静态方法;
2、如果访问控制权允许,那被static修饰的属性和方法可以使用对象名加“.”方式调用,当然也可以使用实例加“.”来调用;
3、静态方法中不存在当前对象,故不能使用this和super关键字;
4、静态方法不能被非静态方法覆盖;(静态方法不能被重写,如果你这么写编译器不会报错,但是预期的结果一定不如你意。重写指的是根据运行时对象的类型来决定调用哪个方法,而不是根据编译时的类型。)
5、构造方法不允许声明为static。

参考资料:
什么是static修饰符
java的static修饰符 详解


问题5.为什么要用final修饰符

~
参考答案

final修饰变量时,表示该变量一旦获得了初始值就不可改变
final既可修饰成员变量(包括类变量和实例变量),也可以修饰局部变量,形参。
严格来说final修饰的变量不要被改变,一旦获得初始值之后,该final变量的值就不能被重新赋值。

参考资料:
JAVA语言中的final修饰符


后记

大部分问题答案源于网络,很多答案需要自己总结,目前能力不够,仅供参考使用。

你可能感兴趣的:(Android面试题记录(1))