What is the difference between overloading and rewriting in java
Difference: 1. Overloading implements compile-time polymorphism, while rewriting implements run-time polymorphism. 2. Overloading occurs in a class, and the parameter list of the method with the same name must be different; while overwriting occurs between a subclass and a parent class, the overriding method of the overridden method must be the same. 3. The return type of an overloaded method can be modified, but the overridden method cannot. 4. The exceptions of overloaded methods can be modified, and the exceptions of overridden methods can be reduced or deleted. New or wider exceptions must not be thrown. 5. The access of overloaded methods can be modified, but the access of overridden methods must not be more strictly restricted.
The operating environment of this tutorial: windows7 system, java8 version, DELL G3 computer.
Override
Literally, override means to write it again. In fact, rewrite the methods of the parent class itself in the subclass. The subclass inherits the original method of the parent class, but sometimes the subclass does not want to inherit a method in the parent class unchanged, so In the method name, parameter list, return type (except for the method in the subclass When the return value is the same as the return value of the method in the parent class (subclass), Modify or rewrite the method body, which is rewriting. But please note that The access modification permissions of subclass functions cannot be less than those of the parent class.
For example:
public class Father { public static void main(String[] args) { // TODO Auto-generated method stub Son s = new Son(); s.sayHello(); } public void sayHello() { System.out.println("Hello"); } } class Son extends Father{ @Override public void sayHello() { // TODO Auto-generated method stub System.out.println("hello by "); } }
Rewrite summary:
1. Occurs between parent class and child class
2. The method name, parameter list, and return type (except that the return type of the method in the subclass is a subclass of the return type in the parent class) must be the same
3. The restriction of the access modifier must be greater than that of the overridden method Access modifier (public>protected>default>private)
4. The overridden method must not throw a new checked exception or a checked exception that is broader than the overridden method declaration
Overload
In a class, if the method with the same name has different parameter lists (different parameter types, different number of parameters or even different parameter order) is considered an overload. At the same time, overloading has no requirement for return types, which can be the same or different, but cannot judge overloading by whether the return types are the same.
For example:
public class Father { public static void main(String[] args) { // TODO Auto-generated method stub Father s = new Father(); s.sayHello(); s.sayHello("wintershii"); } public void sayHello() { System.out.println("Hello"); } public void sayHello(String name) { System.out.println("Hello" + " " + name); } }
Overload summary:
1. Overload Overload is polymorphism in a class A manifestation
2. Overloading requires that the parameter list of the method with the same name is different (parameter type, number of parameters and even parameter order)
3. When overloading, the return value type can be the same or different. The return type cannot be used as the criterion for distinguishing overloaded functions
During the interview, I was asked: What is the difference between overloading and overriding?
Answer: Method overloading and rewriting are both ways to achieve polymorphism. The difference is that the former implements compile-time polymorphism, while the latter implements run-time polymorphism. .
Overloading occurs in a class. If a method with the same name has a different parameter list (different parameter types, different number of parameters, or both), it is considered an overload; overriding occurs in a subclass. With the parent class, overriding requires that the overridden method of the subclass has the same parameter list as the overridden method of the parent class, has a compatible return type, is easier to access than the overridden method of the parent class, and cannot be compared to the overridden method of the parent class. Override methods to declare more exceptions (Liskov substitution principle).
Overloading has no special requirements for the return type and cannot be distinguished based on the return type.
Differences | Overloading method | Overriding method |
---|---|---|
Parameter list | Must be modified | Must not be modified |
Return type | Can be modified | Must not be modified |
Exceptions | can be modified | can be reduced or deleted, new or wider exceptions must not be thrown |
Access | Can be modified | Must not make stricter restrictions (restrictions can be lowered) |
Summary
Overriding and overloading of methods are different manifestations of java polymorphism. Overriding is polymorphism between parent classes and subclasses. A manifestation of sex, overloading can be understood as a specific manifestation of polymorphism.
(1) Method overloading is a class that defines multiple methods with the same name, but the number of their parameters is different or the number is the same but the type and order are different, it is called a method. Overloading.
(2) Method overriding is a method in which a method in a subclass has the same name as the method in the parent class, and the number and type of parameters are the same, and the return value is also the same. It's called overriding.
(3) Method overloading is a polymorphic manifestation of a class, while method overriding is a polymorphic manifestation of a subclass and a parent class.
For more programming-related knowledge, please visit: Programming Teaching! !
The above is the detailed content of What is the difference between overloading and rewriting in java. For more information, please follow other related articles on the PHP Chinese website!

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

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

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

Hot Topics



Guide to Perfect Number in Java. Here we discuss the Definition, How to check Perfect number in Java?, examples with code implementation.

Guide to Weka in Java. Here we discuss the Introduction, how to use weka java, the type of platform, and advantages with examples.

Guide to Smith Number in Java. Here we discuss the Definition, How to check smith number in Java? example with code implementation.

In this article, we have kept the most asked Java Spring Interview Questions with their detailed answers. So that you can crack the interview.

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

Guide to TimeStamp to Date in Java. Here we also discuss the introduction and how to convert timestamp to date in java along with examples.

Capsules are three-dimensional geometric figures, composed of a cylinder and a hemisphere at both ends. The volume of the capsule can be calculated by adding the volume of the cylinder and the volume of the hemisphere at both ends. This tutorial will discuss how to calculate the volume of a given capsule in Java using different methods. Capsule volume formula The formula for capsule volume is as follows: Capsule volume = Cylindrical volume Volume Two hemisphere volume in, r: The radius of the hemisphere. h: The height of the cylinder (excluding the hemisphere). Example 1 enter Radius = 5 units Height = 10 units Output Volume = 1570.8 cubic units explain Calculate volume using formula: Volume = π × r2 × h (4

Java is a popular programming language that can be learned by both beginners and experienced developers. This tutorial starts with basic concepts and progresses through advanced topics. After installing the Java Development Kit, you can practice programming by creating a simple "Hello, World!" program. After you understand the code, use the command prompt to compile and run the program, and "Hello, World!" will be output on the console. Learning Java starts your programming journey, and as your mastery deepens, you can create more complex applications.
