2022年高级Android面试必备知识要点

5星 · 超过95%的资源 需积分: 50 31 下载量 28 浏览量 更新于2024-07-06 1 收藏 6.59MB PDF 举报
2022中高级Android面试必知百题.pdf 本资源摘要信息基于2022中高级Android面试必知百题.pdf文件,涵盖了Java基础知识、Android面试常见问题等内容。下面是从文件中提取的知识点: 一、Java基础知识 1. 抽象类与接口的区别: * 抽象类可以提供成员方法的实现细节,而接口中只能存在public抽象方法。 * 抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的。 * 接口中不能含有构造器、静态代码块以及静态方法,而抽象类可以有构造器、静态代码块和静态方法。 * 一个类只能继承一个抽象类,而一个类却可以实现多个接口。 * 抽象类访问速度比接口速度要快,因为接口需要时间去寻找在类中具体实现的方法。 * 如果你往抽象类中添加新的方法,你可以给它提供默认的实现。因此你不需要改变你现在的代码。如果你往接口中添加方法,那么你必须改变实现该接口的类。 2. final、static、synchronized关键字的作用: * static方法:static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。 * static变量:static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一份副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。 * static代码块:static关键字还有一个比较关键的作用就是用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。 * final变量:凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量)声明为final的都叫作final变量。 二、Android面试常见问题 1. Android面试的一些常见问题,例如Java基础知识、Android架构、性能优化等。 三、总结 本资源摘要信息涵盖了Java基础知识和Android面试常见问题两方面的内容,旨在帮助读者更好地理解Java基础知识,准备Android面试和职业发展。