前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天5道Java面试题(第二天)

每天5道Java面试题(第二天)

作者头像
用户10787181
发布2023-11-05 08:42:28
1100
发布2023-11-05 08:42:28
举报
文章被收录于专栏:小龙学编程

1. JDK 和 JRE 有什么区别?

JDK:Java Development Kit 的简称,Java 开发工具包,提供了 Java 的开发环境和运行环境。

JRE:Java Runtime Environment 的简称,Java 运行环境,为 Java 的运行提供了所需环境。

具体来说JDK 其实包含了 JRE,同时还包含了编译 Java 源码的编译器Javac,还包含了很多 Java 程序调试和分析的工具。简单来说:如果你需要运行 Java 程序,只需安装 JRE 就可以了,如果你需要编写 Java 程序,需要安装 JDK。

2. 为什么java中没有全局变量?

java中是没有真正的全局变量的,因为一个java程序其实就是由多个类方法堆积起来的,而每个类、方法中的变量实际上都是属于它 自己的“全局变量”,相对于其他类、方法来说这些变量就成了局部变量。

3. == 和 equals 的区别是什么?

== 对于基本类型来说是值比较,对于引用类型来说是比较的是引用地址;

equals 默认情况下是引用地址比较,只是很多类重写了 equals 方法,比如 String、Integer 等把它变成了值比较。

4. 重写(overwrite) 和 重载(overload)的区别?

重载:

发生在同一个类中

相同的方法名

参数列表不同

不看返回值,如果出现了只有返回值不同的“重载”,是错的。

重写:

发生在子类与父类中

相同的方法名

相同的参数列表

返回值相同 或者 子类方法的返回值是父类方法返回值类型的子类

访问修饰符相同 或者 子类方法的修饰符范围 大于 父类

抛出的异常相同 或者 子类方法抛出的异常 小于父类

5. 两个对象的hashCode() 相同,则equals()也一定为true,对吗?

不对,两个对象的hashCode()相同,equals()不一定 true。

String“通话”和“重地”的 hashCode() 相同,然而 equals() 则为 false,因为在散列表中,hashCode() 相等即两个键值对的哈希值相等,然而哈希值相等,并不一定能得出键值对相等。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. JDK 和 JRE 有什么区别?
  • 2. 为什么java中没有全局变量?
  • 3. == 和 equals 的区别是什么?
  • 4. 重写(overwrite) 和 重载(overload)的区别?
  • 5. 两个对象的hashCode() 相同,则equals()也一定为true,对吗?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档