Java常见面试题1(绝对干货)

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.== 和 equals 的区别是什么?

        == 对于基本类型来说是值比较,对于引用类型来说是比较的是地址值;而 equals 默认情况下是引用比较,只是很多类重写了 equals 方法,比如 String、Integer 等把它变成了值比较,所以一般情况下 equals 比较的是值是否相等。

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

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

hashCode()相等即两个键值对的哈希值相等,然而哈希值相等,并不一定能得出键值对相等。

4.final 在 java 中有什么作用?

①final 修饰的类叫最终类,该类不能被继承。

②final 修饰的方法不能被重写。

③final 修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改。

5.java 中的 Math.round(-1.5) 等于多少?

解读:round()是Math类中的一个四舍五入的方法,就是round()方法在实现四舍五入的时候实际上是不论正负的,它会先将这个数加上0.5然后在像下取整。

-1.5+0.5=-1.0,然后-1.0向下取整结果为-1,最后的结果就是-1

6.String 属于基础的数据类型吗?

String不是基本的数据类型,是final修饰的java类

java中的基本类型一共有8个:byte、boolean、char、short、int、float、long、double

7.java 中操作字符串都有哪些类?它们之间有什么区别?

操作字符串的类有:String、StringBuffer、StringBuilder

简单来说就是↓↓

String:不可变字符串;

StringBuffer:可变字符串、效率低、线程安全;

StringBuilder:可变字符序列、效率高、线程不安全;

8.String str="i"与 String str=new String(“i”)一样吗?

不一样,因为内存的分配方式不一样。String str="i"的方式,java 虚拟机会将其分配到常量池中;而 String str=new String(“i”) 则会被分到堆内存中。

9.抽象类必须要有抽象方法吗?

不需要,抽象类不一定非要有抽象方法。可以半抽/全普/全抽

10.接口和抽象类有哪些区别?

①抽象类是一个被abstract修饰的类
  接口可以理解成一个特殊的抽象类,但接口不是类,定义的关键字是interface
②抽象类中的方法不做限制(全普/全抽/半普半抽)
   接口中的方法全部都是抽象方法,而且可以简写,默认拼接public abstract 
③抽象类中有构造方法,为了子类创建对象时调用super()
   接口中没有构造方法,接口实现类如果没有明确指定父类,super()调用的是Object();
④接口与抽象类均不可创建对象
⑤抽象类是重构的结果,接口是设计的结果

11.抽象类能使用 final 修饰吗?

不能,定义抽象类就是让其他类继承的,如果定义为 final 该类就不能被继承,这样彼此就会产生矛盾,所以 final 不能修饰抽象类。

12.java 中 IO 流分为几种?

①字节输出流(OutputStream)

②字节输入流(InputStream)

③字符输出流(Writer)

④字符输入流(Reader)


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值