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!

Bytecodeachievesplatformindependencebybeingexecutedbyavirtualmachine(VM),allowingcodetorunonanyplatformwiththeappropriateVM.Forexample,JavabytecodecanrunonanydevicewithaJVM,enabling"writeonce,runanywhere"functionality.Whilebytecodeoffersenh

Java cannot achieve 100% platform independence, but its platform independence is implemented through JVM and bytecode to ensure that the code runs on different platforms. Specific implementations include: 1. Compilation into bytecode; 2. Interpretation and execution of JVM; 3. Consistency of the standard library. However, JVM implementation differences, operating system and hardware differences, and compatibility of third-party libraries may affect its platform independence.

Java realizes platform independence through "write once, run everywhere" and improves code maintainability: 1. High code reuse and reduces duplicate development; 2. Low maintenance cost, only one modification is required; 3. High team collaboration efficiency is high, convenient for knowledge sharing.

The main challenges facing creating a JVM on a new platform include hardware compatibility, operating system compatibility, and performance optimization. 1. Hardware compatibility: It is necessary to ensure that the JVM can correctly use the processor instruction set of the new platform, such as RISC-V. 2. Operating system compatibility: The JVM needs to correctly call the system API of the new platform, such as Linux. 3. Performance optimization: Performance testing and tuning are required, and the garbage collection strategy is adjusted to adapt to the memory characteristics of the new platform.

JavaFXeffectivelyaddressesplatforminconsistenciesinGUIdevelopmentbyusingaplatform-agnosticscenegraphandCSSstyling.1)Itabstractsplatformspecificsthroughascenegraph,ensuringconsistentrenderingacrossWindows,macOS,andLinux.2)CSSstylingallowsforfine-tunin

JVM works by converting Java code into machine code and managing resources. 1) Class loading: Load the .class file into memory. 2) Runtime data area: manage memory area. 3) Execution engine: interpret or compile execution bytecode. 4) Local method interface: interact with the operating system through JNI.

JVM enables Java to run across platforms. 1) JVM loads, validates and executes bytecode. 2) JVM's work includes class loading, bytecode verification, interpretation execution and memory management. 3) JVM supports advanced features such as dynamic class loading and reflection.

Java applications can run on different operating systems through the following steps: 1) Use File or Paths class to process file paths; 2) Set and obtain environment variables through System.getenv(); 3) Use Maven or Gradle to manage dependencies and test. Java's cross-platform capabilities rely on the JVM's abstraction layer, but still require manual handling of certain operating system-specific features.


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

WebStorm Mac version
Useful JavaScript development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6
Visual web development tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.
