Android 面试题整理总结(一)Java 基础

目录

1、final 修饰一个对象,能否调用对象修改属性的方法?
2、fina l和 static关键字的区别?
3、static 修饰的方法可以被子类重写吗?为什么?
4、final、finally、finalize 分别表示什么含义?
5、抽象类能否实例化,理论依据是什么?
6、抽象类跟接口的区别,接口的默认修饰符?
7、面向对象编程的特点,多态性如何体现,Java虚拟机中的多态执行机制?
8、面向对象编程的四大特性及其含义?
9、重写和重载的区别?
10、谈谈对面向过程编程、面向对象编程还有面向切面编程的理解?
11、编译期注解跟运行时注解
12、注解如何获取,反射为何耗性能?
13、如何使用反射访问 private 数据?
14、什么是反射,有什么作用和应用?
15、int、long 的取值范围以及 BigDecimal,数值越界了如何处理?
16、Integer 类对 int 的优化?
17、装箱、拆箱什么含义?
18、int 和 Integer的区别?
19、简单介绍一下 Java 中的泛型,泛型擦除以及相关的概念?
20、String、StringBuffer 和 StringBuilder的区别?
21、String a="" 和 String a=new String("") 的关系和异同?
22、Java 是值传递还是引用传递?
23、Object 有哪些公用方法?
24、Object 的 equals 和 == 的区别?
25、为什么复写 equals 方法的同时需要复写 hashcode 方法,前者相同后者是否相同,反过来呢?为什么?
26、深拷贝和浅拷贝的区别
27、clone 的默认实现是深拷贝还是浅拷贝?如何让clone()实现深拷贝?
28、对 Java.nio 了解多少?
29、遇见过哪些运行时异常?异常处理机制知道哪些?
30、什么是内部类?有什么作用?静态内部类和非静态内部类的区别?
31、为什么匿名内部类中使用局部变量要用 final 修饰?

题解

1、final 修饰一个对象,能否调用对象修改属性的方法?

可以,final 修饰的是对应的引用,这意味着引用不可改变,即不可重新赋值,但对象内部的成员是可变的

2、fina l和 static关键字的区别?

final 修饰的对象不可重新赋值,static 修饰的对象是属于类本身的,即生命周期和类相同

3、static 修饰的方法可以被子类重写吗?为什么?

不行,子类如果实现了和父类名称和参数相同的 staitc 方法,只会隐藏父类的实现(隐藏的意思是:当这个 static 方法可见性为 protected、public 时,在子类访问这个方法,只会调用到子类自己的)。因为 static 修饰的方法是属于类本身的,而多态这一特性是针对单个对象而言的。

4、final、finally、finalize 分别表示什么含义?

final:修饰对象时,引用不可变;修饰基本数据类型时,值不可变;修饰类时,不可被继承;修饰方法时,不能被复写

finally:和 try-catch 配合使用,除非 JVM 终止,否则一定会被调用,常用于释放资源。但如果 try-catch 中执行了 return,则 finally 无法修改返回值

finalize:对象在回收时会被调用,只会被调用一次

5、抽象类能否实例化,理论依据是什么?

不能,抽象类是不完整的,某些方法可能只有声明,而没有定义(实现),调用这些方法会出现未知的结果

6、抽象类跟接口的区别,接口的默认修饰符?

个人理解,抽象类就像是一个模板,实现了子类共有的内容,剩

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值