1. What is the difference between basic data types and encapsulated classes
(More interview question recommendations:java interview questions)
The original type is a class, and the reference type is an object.
Use "==" for size comparison of primitive types, and "equals" for size comparison of reference types.
Reference types can be serialized, but primitive types cannot.
Only reference types can be used in collection classes, not primitive types.
Basic data types do not require new, encapsulation classes require new.
Basic data parameters are passed by value, and the encapsulation type is passed by address.
2. The difference between String, StringBuffer, and StringBuilder
String is a string constant, and StringBuffer and StringBuilder are string variables.
The character content created by String is immutable (the underlying char array of String is final), and the character content of StringBuffer and StringBuilder can be lengthened.
StringBuffer is thread-safe, StringBuilder is thread-unsafe, but fast (because it does not consume performance for thread safety).
3. Why is String immutable?
Although String, StringBuffer and StringBuilder are all final classes, the objects they generate are all immutable, and they are all implemented internally by char arrays.
But the difference is that the char array defined in the String class is final, and StringBuffer and StringBuilder both inherit from the AbstractStringBuilder class, and their internal implementation is completed by this parent class, and this parent class The char array defined in the class is just an ordinary private variable and can be appended using append.
(Related tutorial recommendations:java introductory tutorial)
Because AbstractStringBuilder implements the Appendable interface.
4. The difference between runtime exceptions and non-runtime exceptions
Runtime exceptions are runtime errors: such as ClassCastException (class conversion exception), IndexOutOfBoundsException (array out of bounds) ), NullPointerException (null pointer), ArrayStoreException (data storage exception, inconsistent type when operating array), BufferOverflowException exception of IO operation.
(Video tutorial recommendation:java video tutorial)
Non-runtime exceptions are errors that are not visible before running. You can use try and catch to catch exceptions.
5. Briefly describe the characteristics of object-oriented, and give examples to illustrate your understanding of object-oriented.
The characteristics of object-oriented are summarized as encapsulation, inheritance, polymorphism, and reality. The attributes and behavioral characteristics of things in the world are abstracted and put into a container (class), such as human beings. Human actions such as walking, listening, eating, and talking can be attributed to methods in the class, but they are the common denominator of human beings. Height and weight are attributes in the class.
Encapsulation: That is, the part of the code that the designer is unwilling to disclose to the user is encapsulated, through the modifiers private (minimum permissions), public (maximum permissions), protected, default (the default before the attribute is type), these can play a role in limiting the permissions of class objects.
Inheritance: The process in which a subclass inherits a parent class. The inheritor can own all the method attributes of the parent class. The advantage is to improve code reusability. The subclass only needs to write unique functions or fields and can extract the common code into the parent class.
Polymorphism: Unify the subclass method attributes through the parent class, and then through the call, you can use the subclass method arbitrarily to optimize the code volume. The principle is that the subclass rewrites the parent class method.
The above is the detailed content of Java interview questions summarized from many years of development experience - (1). For more information, please follow other related articles on the PHP Chinese website!