A comparative introduction to method coverage and method overloading in Java
This article brings you a comparative introduction to method coverage and method overloading in Java. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
Method signature
Method signature refers to the parameter type, order and number of the method. It does not include the method name.
Overloading
Overloading must meet the following conditions
The method name is the same
The parameter type, number and order of the method are at least different
The return type of the method can be different
The access modifier of the method can be different
Override
If defined in a subclass A method whose name, return type and parameter signature exactly match the name, return type and parameter signature of a method in the parent class, then the subclass overrides the method of the parent class.
Override must meet the following conditions:
The name, parameter signature and return type of the subclass method must be consistent with the parent class method.
Subclass methods cannot reduce the access rights of parent class methods.
If there is no such restriction, it will conflict with the polymorphism mechanism of the Java language.
//创建父类型的变量,引用子类的实例 Parent parent = new Child(); //调用的是子类实例的方法,如果子类覆盖这个方法时,缩小了访问权限,可能会造成无法访问到子类实例的这个方法 parent.method();
Subclass methods cannot throw more exceptions than parent class methods. The exceptions thrown by subclass methods must be the same as the exceptions thrown by parent class methods, or the exception class thrown by parent class methods is The parent class method throws an exception in the subclass of the class.
Method override only exists between the subclass and the parent class (including direct parent class and indirect parent class). Methods can only be overridden in the same class loaded and cannot be overridden.
The static method of the parent class cannot be overridden as a non-static method by the subclass.
The non-static method of the parent class cannot be overridden as a static method by the subclass
Private methods of the parent class cannot be overridden by subclasses
Non-abstract methods of the parent class can be overridden by subclasses as abstract methods
Similarities and differences
1. Similarities
Method names must be consistent
2. Differences
Method override requires parameter signatures to be consistent, while method overloading requires parameter signatures to be inconsistent.
Override requires return type Consistent, or the return type of the subclass method is smaller than the parent class method, overloading does not impose restrictions on this.
Override can only be used for subclasses to override methods of the parent class, and overloading is used for all methods of the same class (Including methods inherited from the parent class).
There are requirements for overriding the access permissions of methods and throwing exceptions, and there are no restrictions on overloading.
A method of the parent class can only Can be overridden once by a subclass, and a method can be overloaded multiple times in the class where it is located.
The above is the detailed content of A comparative introduction to method coverage and method overloading in Java. For more information, please follow other related articles on the PHP Chinese website!

Start Spring using IntelliJIDEAUltimate version...

When using MyBatis-Plus or other ORM frameworks for database operations, it is often necessary to construct query conditions based on the attribute name of the entity class. If you manually every time...

Java...

How does the Redis caching solution realize the requirements of product ranking list? During the development process, we often need to deal with the requirements of rankings, such as displaying a...

Conversion of Java Objects and Arrays: In-depth discussion of the risks and correct methods of cast type conversion Many Java beginners will encounter the conversion of an object into an array...

Solutions to convert names to numbers to implement sorting In many application scenarios, users may need to sort in groups, especially in one...

Detailed explanation of the design of SKU and SPU tables on e-commerce platforms This article will discuss the database design issues of SKU and SPU in e-commerce platforms, especially how to deal with user-defined sales...

How to set the SpringBoot project default run configuration list in Idea using IntelliJ...


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

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

VSCode Windows 64-bit Download
A free and powerful IDE editor launched by Microsoft

Dreamweaver CS6
Visual web development tools

MantisBT
Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.