11. 抽象类必须要有抽象方法吗?
不需要,抽象类不一定非要有抽象方法。
abstract class Cat {
public static void sayHi()
{ System. out. println(“hi~”); } }
12.普通类和抽象类有哪些区别?
普通类不能包含抽象方法,抽象类可以包含抽象方法。
抽象类不能直接实例化,普通类可以直接实例化。
13. 抽象类能使用 final 修饰吗?
不能,定义抽象类就是让其他类继承的,如果定义为 final 该类就不能被继承,这样彼此就会产生矛盾,所以 final不能修饰抽象类。
14. 接口和抽象类有什么区别?
默认方法实现:抽象类可以有默认的方法实现;接口不能有默认的方法实现。 实现:抽象类的子类使用 extends 来继承;接口必须使用 implements 来实现接口。构造函数:抽象类可以有构造函数;接口不能有。 main 方法:抽象类可以有 main 方法,并且我们能运行它,抽象类还可以继承自一个具体类和实现接口;接口不能有 main 方法。实现数量:类可以实现很多个接口;但是只能继承一个抽象类。 访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的方法可以是任意访问修饰符。
15.Java 中 IO 流分为几种?
按功能来分:输入流(input)、输出流(output)。
按类型来分:字节流和字符流。字节流和字符流的区别是:字节流按 8 位传输以字节为单位输入输出数据,字符流按 16 位传输以字符 为单位输入输出数据。
16.BIO、NIO、AIO 有什么区别?
BIO:Block IO 同步阻塞式 IO,就是我们平常使用的传统 IO,它的特点是模式简单使用方便,并发处理 能力低。 NIO:New IO 同步非阻塞 IO,是传统 IO 的升级,客户端和服务器端通过 Channel(通道)通讯,实现了多路复用。 AIO:Asynchronous IO 是 NIO 的升级,也叫 NIO2,实现了异步非堵塞 IO ,异步 IO 的操作基于事件和回调机制。
17.Files 的常用方法都有哪些?
Files. exists():检测文件路径是否存在。
Files. createFile():创建文件。
Files. createDirectory():创建文件夹。
Files. delete():删除一个文件或目录。
Files. copy():复制文件。
Files. move():移动文件。
Files. size():查看文件个数。
Files. read():读取文件。
Files. write():写入文件。
18.Java 容器都有哪些?
Java 容器分为 Collection 和 Map 两大类,其下又有很多子类,
19.Collection 和 Collections 有什么区别?
Collection 是一个集合接口,它提供了对集合对象进行基本操作的通用接口方法,所有集合都是它的子 类,比如 List、Set 等。 Collections 是一个包装类,包含了很多静态方法,不能被实例化,就像一个工具类,比如提供的排序方 法: Collections. sort(list)。
20.List、Set、Map 之间的区别是什么?
List、Set、Map 的区别主要体现在两个方面:元素是否有序、是否允许元素重复。 List:有序集合、元素可重复;ArrayList基于数组实现的有序集合;LinkedList基于链表实现的有序集合。 Set:无序集合、元素不可重复;LinkHashSet按照插入排序,SortSet可排序----HashSet无序。 Map:键值对集合、储存键、值和之间的映射,Key无序,唯一;Value不要求有序,允许重复。