1.抽象类必须要有抽象方法吗?
不是的,抽象类中可以有,也可以没有抽象方法。(接口全是抽象方法。)
2.普通类和抽象类有哪些区别?
抽象类不能实例化,普通类可以。
抽象类可以有普通方法,普通类不能包含抽象方法。
抽象类必须使用abstract修饰符,普通类不用。
3.抽象类能使用final修饰符吗?
不能,被final修饰的方法不能被继承,而抽象方法不能实例化,只能通过继承实现方法。
4.接口和抽象类有什么区别?
接口使用interface来定义类型的的,抽象是使用class来定义类型的。
接口没有构造方法,不能实例化。抽象类有构造方法,也不能实例化。
接口必须全是抽象方法,抽象类不做限制。
接口全是静态常量,抽象类可以写普通成员变量。
接口是先天设计的,抽象类是后天重构的。
接口可以多继承,抽象类只能单继承。
5.java中IO流分几种?
四种:
字节输入流 :InputStream
字节输出流:OutputStream
字符输入流:Reader
字符输出流:Writer
6.BIO,NIO,AIO有什么区别
BIO:同步式阻塞 一个连接一个线程(线程从发起IO请求,不管内核是否准备好,一直阻塞,直到操作完成)。
NIO:同步非阻塞 一个请求一个线程(客户端发送的到连接请求都会注册到多路复用器,轮流查询到连接I/O请求时才启动一个线程进行处理)。
AIO:异步非阻塞 一个有效请求一个线程(客户端I/O请求都是由OS先完成了再通知服务器应用迁取启动线程进行处理)。



