search
HomeJavajavaTutorialThe role and usage of Object class in java

The role and usage of Object class in java

Jun 26, 2017 am 11:25 AM
objectabnormal

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!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
What are the advantages of using bytecode over native code for platform independence?What are the advantages of using bytecode over native code for platform independence?Apr 30, 2025 am 12:24 AM

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

Is Java truly 100% platform-independent? Why or why not?Is Java truly 100% platform-independent? Why or why not?Apr 30, 2025 am 12:18 AM

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.

How does Java's platform independence support code maintainability?How does Java's platform independence support code maintainability?Apr 30, 2025 am 12:15 AM

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.

What are the challenges in creating a JVM for a new platform?What are the challenges in creating a JVM for a new platform?Apr 30, 2025 am 12:15 AM

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.

How does the JavaFX library attempt to address platform inconsistencies in GUI development?How does the JavaFX library attempt to address platform inconsistencies in GUI development?Apr 30, 2025 am 12:01 AM

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

Explain how the JVM acts as an intermediary between the Java code and the underlying operating system.Explain how the JVM acts as an intermediary between the Java code and the underlying operating system.Apr 29, 2025 am 12:23 AM

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.

Explain the role of the Java Virtual Machine (JVM) in Java's platform independence.Explain the role of the Java Virtual Machine (JVM) in Java's platform independence.Apr 29, 2025 am 12:21 AM

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.

What steps would you take to ensure a Java application runs correctly on different operating systems?What steps would you take to ensure a Java application runs correctly on different operating systems?Apr 29, 2025 am 12:11 AM

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.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PhpStorm Mac version

PhpStorm Mac version

The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Integrate Eclipse with SAP NetWeaver application server.