11. Do abstract classes have to have abstract methods?
No, abstract classes do not necessarily have to have abstract methods.
Sample code:
abstract class Cat { public static void sayHi() { System.out.println("hi~"); } }
In the above code, the abstract class does not have abstract methods but it can run normally.
(Learning video recommendation: java video tutorial)
12. What are the differences between ordinary classes and abstract classes?
Ordinary classes cannot contain abstract methods, and abstract classes can contain abstract methods.
Abstract classes cannot be instantiated directly, but ordinary classes can be instantiated directly.
13. Can abstract classes be modified with final?
No, defining an abstract class is for other classes to inherit. If it is defined as final, the class cannot be inherited, which will cause conflicts with each other, so final cannot modify the abstract class, as shown in the following figure, the editor An error message will also be prompted:
#14. What is the difference between an interface and an abstract class?
Implementation: Subclasses of abstract classes use extends to inherit; interfaces must use implements to implement the interface.
Constructor: Abstract classes can have constructors; interfaces cannot.
Main method: Abstract classes can have a main method, and we can run it; interfaces cannot have a main method.
Number of implementations: A class can implement many interfaces; but it can only inherit one abstract class.
Access modifier: Methods in the interface are modified by public by default; methods in abstract classes can have any access modifier.
15. How many types of IO streams are there in Java?
Divided by function: input stream (input), output stream (output).
Divided by type: byte stream and character stream.
The difference between byte stream and character stream is: byte stream uses 8-bit transmission to input and output data in bytes, while character stream uses 16-bit transmission to input and output data in character unit.
16. What are the differences between BIO, NIO and AIO?
BIO: Block IO Synchronous blocking IO is the traditional IO we usually use. It is characterized by its simple mode, easy use, and low concurrent processing capabilities.
NIO: New IO synchronous non-blocking IO is an upgrade of traditional IO. The client and server communicate through Channel (channel), achieving multiplexing.
AIO: Asynchronous IO is an upgrade of NIO, also called NIO2, which implements asynchronous non-blocking IO. Asynchronous IO operations are based on events and callback mechanisms.
17. What are the common methods of Files?
Files.exists(): Check whether the file path exists.
Files.createFile(): Create a file.
Files.createDirectory(): Create a folder.
Files.delete(): Delete a file or directory.
Files.copy(): Copy files.
Files.move(): Move files.
Files.size(): View the number of files.
Files.read(): Read files.
Files.write(): Write files.
Recommended tutorial: java common interview questions
The above is the detailed content of 2020 New Java Interview Questions - Basic Part (2). For more information, please follow other related articles on the PHP Chinese website!