Java基础面试题(附答案)

你所知道网络协议有那些?

HTTP:超文本传输协议
FTP:文件传输协议
SMPT:简单邮件协议
TELNET:远程终端协议
POP3:邮件读取协议

那针对浮点型数据运算出现的误差的问题,你怎么解决?

使用Bigdecimal类进行浮点型数据的运算

++i与i++的区别?

++i:先赋值,后计算
i++:先计算,后赋值

程序的结构有那些?

顺序结构
选择结构
循环结构

Java常用包有那些?

Java.lang
Java.io
Java.sql
Java.util
Java.awt
Java.net
Java.math

java中有没有指针?

有指针,但是隐藏了,开发人员无法直接操作指针,由jvm来操作指针

构造方法能不能重写?能不能重载?

不可以重写,可以重载

Static关键字有什么作用?

Static可以修饰内部类、方法、变量、代码块。

Static修饰的类是静态内部类

Static修饰的方法是静态方法表示该方法属于当前类的,而不属于某个对象的,静态方法也不能被重写,可以直接使用类名来调用。在static方法中不能使用this或者super关键字。

Static修饰变量是静态变量或者叫类变量,静态变量被所有实例所共享,不会依赖于对象。静态变量在内存中只有一份拷贝,在JVM加载类的时候,只为静态分配一次内存。

Static修饰的代码块叫静态代码块通常用来做程序优化的。静态代码块中的代码在整个类加载的时候只会执行一次。静态代码块可以有多个,如果有多个,按照先后顺序依次执行。

==与equlas有什么区别?

==可以判断基本数据类型值是否相等,也可以判断两个对象指向的内存地址是否相同,也就是说判断两个对象是否是同一个对象。

Equlas通常用来做字符串比较。

如何将字符串反转?

Stringbuilder或者stringbuffer的reverse方法

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

不是。抽象类可以没有抽象方法。

抽象类可以使用final修饰吗?

不可以。定义抽象类就是让其他继承的,而final修饰类表示该类不能被继承,与抽象类的理念违背了。

JAVA为什么需要接口?

接口弥补了java单继承的缺点

接口有什么特点?

接口中声明全是public static final修饰的常量
接口中所有方法都是抽象方法
接口是没有构造方法的
接口也不能直接实例化
接口可以多继承

接口与抽象类有什么区别?

抽象类有构造方法,接口没有构造方法
抽象类只能单继承,接口可以多继承
抽象类可以有普通方法,接口中的所有方法都是抽象方法
接口的属性都是public static final修饰的,而抽象的不是

在异常捕捉时,如果发生异常,那么try.catch.finally块外的return语句会执行吗?

会执行,如果有finally,在finally之后被执行,如果没有finally,在catch之后被执行

Try.catch.finally是必须要存在的吗?

Try块必须存在,catch和finally可以不存在,但不能同时不存在

Error与Exception区别?

Error和Exception都是java错误处理机制的一部分,都继承了Throwable类。

Exception表示的异常,异常可以通过程序来捕捉,或者优化程序来避免。

Error表示的是系统错误,不能通过程序来进行错误处理。

Log4j日志有几个级别?

由低到高:debug、info、warn、error

Java反射创建对象效率高还是通过new创建对象的效率高?

通过new创建对象的效率比较高。通过反射时,先找查找类资源,使用类加载器创建,过程比较繁琐,所以效率较低。

发布了610 篇原创文章 · 获赞 285 · 访问量 112万+

猜你喜欢

转载自blog.csdn.net/AlbenXie/article/details/104678514