Java面试题及答案
Posted danerblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面试题及答案相关的知识,希望对你有一定的参考价值。
final、finally、finalize区别
final
修饰类 不能有子类
修饰方法 不能被重写
修饰变量 不能改变值,必须初始化
finally
异常处理时无论是否有异常被捕获,抛出,finally块都会被执行
无论发生什么都必须执行的代码放在finally块中
finalize
方法名,Java允许使用该方法在垃圾收集器把对象从内存清出去之前做必要的清理工作
在object中定义的,所有类都继承他,子类覆盖finalize()方法整理系统资源或者执行其他清理工作
int、Integer区别
int
基本数据类型
初始值0
不需要实例化
直接存储数据值
Integer
int的包装类
初始值null
实例化才能使用
对象的引用,指向new Integer对象
方法重载和方法重写的区别
方法重载
同一个类里面名字相同的方法
参数返回值抛出的异常可以不同
同一个方法根据输入数据的不同做不同的处理 不同的参数列表(静态多态)
方法重写
子类重写父类的方法 相同参数不同实现(动态多态)
方法名称参数返回类型一致
方法修饰大于父类的修饰符
不能出现新的异常,比父类宽泛的异常
super()调用父类的方法
final方法不能重写
abstract方法必须重写
抽象类和接口的区别
抽象类
可以有自己的实现
可以写main方法
不能被实例化
子类通过extends继承抽象类
可以有构造器
抽象方法可以被public protected default修饰
可以继承一个类,实现多个接口
比接口速度快
抽象类添加新的方法,可以提供默认的实现,不需要改其他类
接口
不能有自己的实现
不可以写main方法
通过implements实现接口中的方法,必须全部实现
不能有构造器
被public修饰
可以继承多个接口
速度有点儿慢,需要花时间去找他的实现
添加新的方法必须提供新的实现
以上是关于Java面试题及答案的主要内容,如果未能解决你的问题,请参考以下文章
java面试题及答案2020,java面试题汇总, java最新面试题及答案2020 四