Methods of Object class
String roString() returns the string representation type of the object + @ + hash value (address value)
You can only distinguish the address value of an object It doesn't make much sense whether they are the same object, so subclasses will generally override this method to no longer print the address value but the attribute
The shortcut key for overriding the toString method is alt + shift + s + s
Operators like * cannot operate on reference data types
, but == can operate on reference data types. At any time, as long as == compares reference data types, the address value will always be compared.
public boolean equals(Object obj) returns a boolean type to compare whether two objects are equal. What is compared is the address value.
Subclasses can override this method to compare the attribute values of two objects.
The difference between exceptions and errors
Exceptions can be handled, and the code can continue to execute after handling
Errors cannot be handled, and you can only modify the code, otherwise the program cannot be executed
The first exception handling The way to declare exceptions
The throw keyword is used in the method
throw exception object
The throws keyword is used in the declaration of the method to declare the exception
throws The class name of the exception
Note Matters:
1. throws can declare multiple exceptions, separated by commas
2. throws can declare the common parent class of multiple exceptions
The first exception Two processing methods
try{ 可能出现异常的代码 }catch(异常类名 变量名){ 任意内容 一般打印异常对象的信息 }
Multi-catch exception handling
try{ 可能出现异常的代码}catch(异常的类名 变量名){ }catch(){ }...
Notes:
Is there any order between multiple catches?
If there is no direct inheritance relationship between exceptions, there is no order
ArrayIndexOutOfBoundsException extends IndexOutOfBoundsException extends RuntimeException
NullPointerException extends RuntimeException
If there is an inheritance relationship between exceptions, there is an order, and the larger ones are placed later
NullPointerException extends RuntimeException
If the parent class exception is caught, the subclass exception can be omitted (not captured) because of the polymorphic call
finally try{ }catch(){ }finally{ 必须执行的代码 无论是否有异常 无论是否处理了异常 }
Compile-time exception The difference from runtime exception
Compile-time exception Exception
An error is reported during compilation and must be handled. The program cannot be executed without handling it
Runtime exception RuntimeException
No error will be reported during compilation. Error will be reported when running. It can be processed or not processed. Runtime exception is not recommended.
Generally, runtime exception occurs because there is a problem with the code and the code needs to be modified
The program will be interrupted when a runtime exception is thrown, so we sometimes use runtime exceptions to help us interrupt the program
Exception issues overriding child and parent class methods
If the parent class method throws an exception
The subclass does not need to throw an exception
The subclass can also throw an exception, but the exception thrown by the subclass must be less than or equal to the exception thrown by the parent class
If the parent class method does not throw an exception
Subclasses cannot throw exceptions. If there are exceptions in the subclass, they can only handle them themselves and cannot throw them.
Three commonly used methods for exceptions
Get Exception information method
String getMessage() "File not found"
String toString() java.io.FileNotFoundException: File not found
void printStackTrace() The most detailed exception information Exception class name string Location, etc.
Custom exception
Inheriting Exception is a compile-time exception. Inheriting RuntimeException is a run-time exception
Add a constructor
1 public class NoAgeException extends Exception{ 2 3 public NoAgeException(){ 4 5 } 6 7 public NoAgeException(String message){ 8 // System.out.println(message); 9 super(message);10 }11 }
========================================== ===============
1 public class NoAgeException extends RuntimeException{ 2 3 public NoAgeException(){ 4 5 } 6 7 public NoAgeException(String message){ 8 // System.out.println(message); 9 super(message);10 }11 }
Use of custom exceptions
How to use custom exceptions for the exceptions provided by JDK
Handling of custom exceptions
Either throws or try catch
The above is the detailed content of The role and usage of Object class in java. For more information, please follow other related articles on the PHP Chinese website!