Java基础面试题

发布时间:2019-11-18 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Java基础面试题脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

java==和equals和hashCode的区别

==是运算符,用于比较两个变量是否相等。

equals,是Objec类的方法,用于比较两个对象是否相等,默认Object类的equals方法是比较两个对象的地址,跟==的结果一样。Object的equals方法如下:

@H_406_16@public boolean equals(Object obj) { return (this == obj); }

hashCode也是Object类的一个方法。返回一个离散的int型整数。在集合类操作中使用,为了提高查询速度。(HashMap,HashSet等)

  • 基本数据类型:也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。
  • 引用数据类型: 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的对象,他们的比较后的结果为true,否则比较后结果为false

JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地
址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了。

如果两个对象根据equals()方法比较是相等的,那么调用这两个对象中任意一个对象的hashCode方法都必须产生同样的整数结果。
如果两个对象根据equals()方法比较是不相等的,那么调用这两个对象中任意一个对象的hashCode方法,则不一定要产生相同的整数结果

int、charlong各占多少字节数

类型 字节数 备注
byte 1 -128-127
short 2 -32768~32767
int 4
long 8
float 4 float类型数值有后缀F
double 8 没有后缀F的小数默认为double
char 2 Java默认编码方式为Unicode
boolean 1 true or false

int与integer的区别

谈谈对java多态的理解

String、StringBuffer、StringBuilder区别

什么是内部类?内部类的作用

抽象类和接口区别

抽象类的意义

抽象类与接口的应用场景

抽象类是否可以没有方法和属性?

接口的意义

泛型中extendssuper的区别

父类的静态方法能否被子类重写

进程和线程的区别

finalfinallyfinalize的区别

序列化的方式

Serializable 和Parcelable 的区别

静态属性和静态方法是否可以被继承?是否可以被重写?以及原因

静态内部类的设计意图

成员内部类、静态内部类、局部内部类和匿名内部类的理解,以及项目中的应用

谈谈对kotlin的理解

闭包和局部内部类的区别

String 转换成 Integer的方式及原理

脚本宝典总结

以上是脚本宝典为你收集整理的Java基础面试题全部内容,希望文章能够帮你解决Java基础面试题所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。