java面试基础(随时更新)

1、JDK 和 JRE 有什么区别?

jdk包含jre,jre是运行java的运行环境,jdk是包含了jre,并且安装了jdk就可以编译java,jdk包含编译java源码的编译器javac,实现项目功能的很多类包

2、 == 和 equals 的区别是什么?

==比较的是引用类型是否相等,equals被String类重写了方法,因为本质上equals属于object类,所以,重写的方法里的功能是比较值是否相等。string s1="123",

String s2=new String("123"),则,s1==s2为false,s1.equals(s2)是true。

equals方法在object这个祖宗类中实现的功能是比较两个对象的引用是否相同,也就是new出来的对象是哪个类的

且,hashcode()这个方法是输出你这个对象对应的内存中的地址,两个对象的hashcode()的值可以相同但是他们的在String类中的方法(比较对象的值是否相同)可以不同。举个例子:对象1的值为9,去%8,结果为1,对象二的值为17,去%8,结果也为1;内存中放在一起,但是值是不同的。

3、面向对象的特征有哪些方面?

继承:子类可以继承父类:java只有单继承,但是作为接口可以实现多继承,接口是一个规范,约定俗称的,接口是个特殊的类,且接口类中的没有属性,有方法声明,没有方法实现。实现接口的类需要重写接口中的方法。

封装:父类中的private属性的东西,子类无法访问。且 insanceof关键字是区分对象1和对象2是否是子类和父类继承的关系,是个Boolean型。

多态:

 

4.float f=3.4;是否正确?

3.4是双精度 是double类型,3.4f是单精度。

5.Java—重写与重载的区别

答:方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的参数列表,有兼容的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求,不能根据返回类型进行区分。

6.常用类String中 intern()方法:

 

1.当常量池中不存在"abc"这个字符串的引用,将这个对象的引用加入常量池,返回这个对象的引用(new对象的时候都是将对象放在了堆中,就是变量都是放在堆中。)

2.当常量池中存在"abc"这个字符串的引用,返回这个对象的引用;

 7.什么是类的初始化,哪些操作可以初始化类,哪些不行

1.一个Java类的完整的生命周期会经历加载、连接、初始化、使用、和卸载五个阶段

2.类初始化做的事情:为静态变量赋予初始值;执行类中的静态代码块,而且,静态代码块有且仅执行一次

posted @   小白程序g  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示