java基础面试题(十)

  1. 什么是自动装箱和拆箱?
    答:自动将基本类型转换为包装器类型的过程叫装箱。自动将包装器类型转换成基本类型的过程叫拆箱。
  2. 说说每个基本类型所对应的包装器类型?
基本类型 包装器类型
byte Byte
char Character
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
  1. Java为什么要装箱和拆箱呢?
    答:首先要知道基本类型其实是数据不是对象,同样也不是Object类的子类。所以经过装箱变成一个包装器类型后,作为一个类,它就能够有自己可以调用的方法了。其次就是像我们平常使用的List类,基本类型是做不了泛型参数的,所以得通过装箱成包装器类型。至于为什么要拆箱,我的理解就是包装器类型在做计算时需要拆箱成基本数据类型来做具体计算。

  2. 对象实例与对象引用有何不同?
    答:对象实例是在堆中的,对象引用是在栈中。一个对象引用可以指向1个或0个对象实例。一个对象实例可以有多个引用指向它。

  3. 为什么在调用子类构造方法之前会先调用父类的无参构造方法?
    答:这是一种Java的规则,因为子类也不知道父类在自己的构造方法里做了什么,因为构造方法是无法继承的,所以要调用父类的无参构造方法来为子类做一些初始化的工作。由此可以得出如果子类的构造函数中,没有显式的调用父类的某个构造函数,那么就会自动调用父类的无参构造函数,如果父类没有无参构造函数,那么子类就必须显式的调用父类的某个构造函数。

  4. Files的常用方法有哪些,作用是什么?
    答:
    Files.exists():检测文件路径是否存在
    Files.createFile():创建文件
    Files.createDirectory():创建文件夹
    Files.size():查看文件个数
    Files.read():读取文件
    Files.write():写入文件
    Files.delete():删除一个文件或目录
    Files.copy():复制文件
    Files.move():移动文件

  5. instanceof关键字的作用?
    答:instanceof关键字是用来判断一个对象是否是一个类或它的子类或它的实现类的实例,如果是,返回true,如果不是,返回false。

  6. 如何取得异常的信息?
    答:getMessage()这个方法可以用来取得异常描述信息,还有一个有些开发很喜欢用的方法printStackTrace(),这方法是用来获取异常的堆栈信息的,这个只建议在开发调试阶段使用,因为信息量太大,很容易打满内存,更严重还会导致整个服务挂掉。

  7. 什么是枚举类型?
    答: 在java中用enum关键字来修饰的类,它就是枚举类型的类。它是一种特殊的数据类型,能够为一个变量定义一组预定义的常量同时变量必须等于为其预定义的值之一。

  8. 枚举类型的特点?
    答:
    枚举类型都隐式继承了java.lang.Enum类,Java不支持多继承,所以不能继承其他类,但是可以实现接口。
    枚举类型只能有私有的构造方法,因为枚举类型被设计成了单例模式,如果构造方法没有被设置成私有,那么就破坏了枚举对象的唯一性。
    枚举类型不能泛型化。
    枚举类型被final修饰符修饰,是最终类,因此我们无法再继承它了。
    枚举类型中被默认增加了许多静态方法以供使用。

发布了156 篇原创文章 · 获赞 138 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/weixin_38106322/article/details/104173719