Java面试题大全带答案

14. 接口和抽象类有什么区别?

  • 抽象类的子类要用 extends 来继承;而实现接口要用 implements 。

  • 抽象类可以定义构造函数,而接口不能。

  • 抽象类里可以定义 main 方法,但接口不能有 main 方法。

  • 实现数量:类可以实现很多个接口;但是只能继承一个抽象类。

  • 访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的方法可以是任意访问修饰符。

上述是从语法上来归纳,然后建议大家再从面向对象思想的角度来说明

  • 抽象类是对逻辑的归纳,比如动物类可以是抽象类,人类可以extends动物这个抽象类。

  • 而接口是对功能的归纳,比如可以定义一个“提供数据库访问功能”的 接口,在其中封装若干操作数据库的方法。

15. java 中 IO 流分为几种?

按功能来分可以分输入流(input)和输出流(output)。从类型来分可以是字节流和字符流。

16. BIO、NIO、AIO 有什么区别?

  • BIO的英语全称是Block IO, 同步阻塞式 IO,就是平常经常使用的传统 IO,特点是简单方便,但并发处理能力低。

  • NIO,叫New IO, 同步非阻塞 IO,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。

  • AIO,Asynchronous IO, 是 NIO 的升级,实现了异步非堵塞 IO ,它是基于事件和回调机制。

17. Files的常用方法都有哪些?

  • Files.exists():检测路径是否存在。

  • Files.createFile():创建文件。

  • Files.createDirectory():创建文件夹。

  • Files.delete():删除文件或文件夹。

  • Files.copy():复制文件。

  • Files.move():移动文件,即复制后删除。

  • Files.size():查看文件的个数。

  • Files.read():读取文件。

  • Files.write():写入文件。


第二部分,Java的集合,也叫容器

==================================================================================

18. java 的集合容器都有哪些?

如下给出了大致的结构

  • 所有线性表对象的父类是Collection

  • 有线性表类,比如ArrayList和Set等。

  • 有键值对类,比如HashMap。

19. Collection 和 Collections 有什么区别?

  • Collection 是一个集合接口,是所有线性表对象的父类。

  • Collections是集合类的一个工具类,包含了对集合元素进行排序和线程安全等各种操作方法。

20. List、Set、Map 之间的区别是什么?

21. HashMap 和 Hashtable 有什么区别?

首先说,两者

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法提供完整的Java笔试题大全答案。但是,我可以为您提供一些常见的Java笔试题类型和一些参考答案,希望对您有所帮助。 1. Java基础知识 Q:Java中的八种基本类型是什么? A:byte、short、int、long、float、double、char、boolean。 Q:什么是Java中的自动装箱和拆箱? A:自动装箱是指将基本类型自动转换为相应的包装类型,拆箱则是将包装类型自动转换为相应的基本类型。例如: ``` int a = 123; Integer b = a; // 自动装箱 int c = b; // 自动拆箱 ``` 2. 面向对象编程 Q:什么是Java中的抽象类和接口?它们有什么区别? A:抽象类是一个不能被实例化的类,它的存在只是为了被子类继承。抽象类可以包含抽象方法和非抽象方法。接口是一组方法的集合,没有实现的方法,只有方法的签名,需要实现该接口的类来实现这些方法。 区别在于,抽象类可以包含成员变量和非抽象方法,而接口只能包含常量和抽象方法。另外,一个类只能继承一个抽象类,但是可以实现多个接口。 Q:Java中的多态是什么? A:多态是指同一种行为具有多种不同的表现形式或形态。在Java中,多态可以通过继承和接口来实现。例如: ``` class Animal { void makeSound() { System.out.println("Animal"); } } class Dog extends Animal { void makeSound() { System.out.println("Dog"); } } Animal a = new Dog(); a.makeSound(); // 输出Dog ``` 3. 异常处理 Q:Java中的异常分为哪些类型? A:Java中的异常分为受检异常和非受检异常两种类型。受检异常是指必须在方法声明中声明并处理的异常,例如IOException和SQLException;非受检异常是指RuntimeException及其子类,通常是由程序错误导致的异常,例如NullPointerException和ArrayIndexOutOfBoundsException。 Q:Java中的异常处理机制是什么? A:Java中的异常处理机制包括try-catch-finally语句和throw语句。try块中包含可能抛出异常的代码,catch块用于捕获异常并处理异常,finally块中的代码总是会被执行。throw语句用于手动抛出异常。例如: ``` try { // 可能会抛出异常的代码 } catch (Exception e) { // 处理异常 } finally { // 始终会执行的代码 } ``` 以上是一些常见的Java笔试题类型和参考答案,希望能够帮助您。但是请注意,在面试或者笔试中,考官可能会根据您的回答提出更深入的问题,所以最好还是对Java的各个方面有一个全面的了解。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值