安卓面试总结(1)——Java基础

安卓面试总结(1)——Java基础,第1张

前言

之前换工作把自己学的内容总结了一下,虽然Java部分我写过十几篇读书笔记,详细的记录了Java8的内容,但是作为面试这样一个短暂的考试,详细的内容并没有很大的帮助,更重要的是精简与重点,所以最近打算把总结的内容全部写成博客,慢慢来吧!

这里参考的是网上流传的很火的几个PDF,以及书籍,名称如下(如果有需要资源的可以私信我):

Android核心知识点笔记V2020.03.30.pdf
技术面试必备基础知识 CyC2018.pdf
Java核心技术 卷1

这里如果说我是把资料抄了一边,也差不多吧,不过也有精简,也有加入自己的见解。内容较多,接下来慢慢写了。

Java 基础 1、数据类型 8种自动装箱、拆箱缓存池(valueOf 函数、Interger 的128) 2、String final的value 数组(final 的)–>不可变–>有何好处:hash、String Pool 、安全性、线程安全StringBuilder 和 StringBufferString Pool(编译时) 3、运算

以值传递(实质)

值(修改临时变量)、指针(修改变量,另一个变量,同一个地址)、引用(修改变量内容,还是那个变量)

类型转换

隐式类型转换(++、+=)

switch

4、继承

访问权限(4个)

类、类成员

抽象类和接口区别?何时使用?

整体和功能的区别:类可以多携带信息修饰符的区别:接口默认 public、接口字段默认 public static、完全抽象、默认方法(Java8)实现数量:类只能实现一个,接口多个

根据区别,可以得出使用的地方。

super 、this、构造函数

重载和重写(实现多态)

重写–>重新编写同一个方法的功能
重载–>参数类型、个数、顺序

重写三个限制条件?

访问权限、返回类型、抛出异常类型

重写的访问顺序?(4个)–> 注意参数的父类

this.func(this) --> super.func(this) --> this.func(super) --> super.func(super) 5、object的通用方法(6 + 5)

hashCode()、equals()、clone()、toString()、getClass()、finalize()

锁相关的:
notify()、notifyAll()、wait()、wait(timeout)、wait(timeout,nanos)

哪几个是 native 方法?
hashcode、clone、getClass、notify、notifyAll、wait(一个)

少了 equals、toString、finalize、其他 wait

等价和相等以及hash值相等的区别?

如何判断对象等价?

是否相等–>是否为空–>是否同类–>转换之后是否数据域相等

clone() 和 Cloneable接口?接口为空?深拷贝、浅拷贝?

finalize()方法?只标记一次,执行不可知

6、关键字

final --> 类、方法、私有数据、临时变量、修饰基本类型、修饰引用类型

static --> 静态变量、静态方法、静态语句块、静态内部类、静态导包

带static的初始化顺序:
父类(静态变量、静态语句块)–> 子类(静态变量、静态语句块)–>
父类(实例变量、普通语句块)–> 父类(构造函数)
子类(实例变量、普通语句块)–> 子类(构造函数)

先静态再实例,先父类再子类,先实例再构造,先前面再后面

volatile、synchronized 锁部分再说

transient 数组部分再说

7、反射

class 对象、

类加载(反射运行时加载)

获得 class 对象的方法?

getClass()forName()

反射的三个类:Filed、Method、Constructor

反射优缺点:扩展性、便于调试、性能开销、安全问题

8、异常

Throwable --> Error、Exception

Error 两个? OutOfMemeoryError、StackOverflowError

非受查异常(you fault)、受查异常(IO、socket)

说五个常见异常?

IllegalArgumentException、IndexOutOfBoundException、NullPointerExceptionClassNotFoundException(受查)SocketException(受查) 9、泛型

泛型类、泛型方法

类型变量的限定:extend、super

类型擦除:强制类型转换为限定的类型(没有则是 Object)

桥方法?

泛型类型的继承规则(通配符 、子类限定、超类限定)?

子类限定:可以用父类类型去 get (接受)子类类型的数据,但不能设置,因不知道数据的具体类型超类限定:可以用子类类型去 set (存入)超类类型的数据,但无法取出,因为不能确定数据内存放的是什么类型 下一篇

安卓面试总结(2)——Java 集合框架

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/2990150.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-23
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存