search
HomeJavajavaTutorialWhat are method rewriting and method overloading in java? What's the difference

What are method rewriting and method overloading in java? What's the difference

Nov 23, 2018 am 11:03 AM
javaMethod overridingMethod overloading

What are method rewriting and overloading in java? This article will introduce to you what method rewriting (overwriting) and overloading are in Java, so that you can understand the difference between method rewriting and overloading. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

Method overloading and method rewriting are object-oriented programming (OOP) concepts that are highly used in various Java implementations and are two very important concepts in Java. Let's take a closer look at method overloading and method rewriting.

What is method overloading in java?

Method overloading enables us to have multiple methods with the same name and the same or different return types. The important thing about method overloading is that all these methods must have different parameters with the same return type. A common practice is to have the method's implementation with the most parameters, and the other methods (with fewer parameters) just redirect to the "big" method, providing default values ​​for the missing parameters, like this:

class  OverloadingExample {  
     static int  add(int  a,int  b){ return  a + b;}   
     static int  add(int  a,int  b,int  c){ return  a + b + c;}   
}

What is method overriding (overwriting) in Java?

Method overriding (overwriting) is part of Java's inherited OOP principles. The idea behind method overriding (overriding) is to change the implementation of a given method in a subclass. In other words, we use the method (name, return types, parameters) method to "override" the implementation of the parent class method, and then implement different functions within the overridden method.

Note: Private, static and final methods cannot be overridden in Java.

Example:

class  Animal {  
   void  eat(){
     System.out.println(“吃 ......” );
   }  
}  
class  Dog  extends  Animal {  
   void  eat(){
      System.out.println(“吃面包......” );
   }  
}

Method rewriting (overwriting) rules in Java

The following are the rules for method rewriting in java, in rewriting ( These rules must be followed when overriding any method.

1. The method signature must be the same, including the return type, the number of method parameters, the type of parameters and the order of parameters

2. The overridden method cannot throw more throws than the original or overridden method High abnormality. Meaning if the original method throws IOException, then the overridden method cannot throw a superclass of IOException; such as an exception, but it can throw any subclass of IOException, or no exception at all. This rule only applies to checked exceptions in Java, overriding methods are free to throw any unchecked exception.

3. The overriding method cannot reduce the accessibility of the overriding method, which means that if the original method or the overriding method is public, the overriding method cannot protect it.

Let’s take a look at specific examples of method overloading and method rewriting in java.

The following are examples of method overloading and method rewriting in Java. To explain this concept, we created two classes Loan and PersonalLoan. The createLoan() method is overloaded because of the different versions with different signatures, while the original toString() method declared in the Object class is overridden in both the Loan and PersonalLoan classes.

Difference between method overriding and method overloading in Java

There are many differences between method overriding and method overloading in java , the difference between overloading and rewriting is also one of the common Java interview questions in many companies. Let’s take a look at the differences between them:

Method overloading

1. In method overloading, the class has the same name and two or more methods with different parameters.

2. In overloading, the return type will be different in the two methods.

3. When a method is called, the JVM calls the corresponding method according to the parameters passed to it.

4. Method overloading is an example of polymorphismcompile-time.

5. Method overloading is used to increase the readability of the program.

Method rewriting

1. In method rewriting, the methods with the same name in the class and subclass, including the parameters, must also be the same.

2. It should also be the same in the overridden return type.

3. The JVM calls the corresponding method according to the object used to call the method.

4. Method overriding is an example of polymorphism runtime.

5. Method overriding is used to provide specific implementations of methods already provided by its superclass.

Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.

The above is the detailed content of What are method rewriting and method overloading in java? What's the difference. 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
Is Java Platform Independent if then how?Is Java Platform Independent if then how?May 09, 2025 am 12:11 AM

Java is platform-independent because of its "write once, run everywhere" design philosophy, which relies on Java virtual machines (JVMs) and bytecode. 1) Java code is compiled into bytecode, interpreted by the JVM or compiled on the fly locally. 2) Pay attention to library dependencies, performance differences and environment configuration. 3) Using standard libraries, cross-platform testing and version management is the best practice to ensure platform independence.

The Truth About Java's Platform Independence: Is It Really That Simple?The Truth About Java's Platform Independence: Is It Really That Simple?May 09, 2025 am 12:10 AM

Java'splatformindependenceisnotsimple;itinvolvescomplexities.1)JVMcompatibilitymustbeensuredacrossplatforms.2)Nativelibrariesandsystemcallsneedcarefulhandling.3)Dependenciesandlibrariesrequirecross-platformcompatibility.4)Performanceoptimizationacros

Java Platform Independence: Advantages for web applicationsJava Platform Independence: Advantages for web applicationsMay 09, 2025 am 12:08 AM

Java'splatformindependencebenefitswebapplicationsbyallowingcodetorunonanysystemwithaJVM,simplifyingdeploymentandscaling.Itenables:1)easydeploymentacrossdifferentservers,2)seamlessscalingacrosscloudplatforms,and3)consistentdevelopmenttodeploymentproce

JVM Explained: A Comprehensive Guide to the Java Virtual MachineJVM Explained: A Comprehensive Guide to the Java Virtual MachineMay 09, 2025 am 12:04 AM

TheJVMistheruntimeenvironmentforexecutingJavabytecode,crucialforJava's"writeonce,runanywhere"capability.Itmanagesmemory,executesthreads,andensuressecurity,makingitessentialforJavadeveloperstounderstandforefficientandrobustapplicationdevelop

Key Features of Java: Why It Remains a Top Programming LanguageKey Features of Java: Why It Remains a Top Programming LanguageMay 09, 2025 am 12:04 AM

Javaremainsatopchoicefordevelopersduetoitsplatformindependence,object-orienteddesign,strongtyping,automaticmemorymanagement,andcomprehensivestandardlibrary.ThesefeaturesmakeJavaversatileandpowerful,suitableforawiderangeofapplications,despitesomechall

Java Platform Independence: What does it mean for developers?Java Platform Independence: What does it mean for developers?May 08, 2025 am 12:27 AM

Java'splatformindependencemeansdeveloperscanwritecodeonceandrunitonanydevicewithoutrecompiling.ThisisachievedthroughtheJavaVirtualMachine(JVM),whichtranslatesbytecodeintomachine-specificinstructions,allowinguniversalcompatibilityacrossplatforms.Howev

How to set up JVM for first usage?How to set up JVM for first usage?May 08, 2025 am 12:21 AM

To set up the JVM, you need to follow the following steps: 1) Download and install the JDK, 2) Set environment variables, 3) Verify the installation, 4) Set the IDE, 5) Test the runner program. Setting up a JVM is not just about making it work, it also involves optimizing memory allocation, garbage collection, performance tuning, and error handling to ensure optimal operation.

How can I check Java platform independence for my product?How can I check Java platform independence for my product?May 08, 2025 am 12:12 AM

ToensureJavaplatformindependence,followthesesteps:1)CompileandrunyourapplicationonmultipleplatformsusingdifferentOSandJVMversions.2)UtilizeCI/CDpipelineslikeJenkinsorGitHubActionsforautomatedcross-platformtesting.3)Usecross-platformtestingframeworkss

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 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use