Home  >  Article  >  Java  >  What 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

青灯夜游
青灯夜游Original
2018-11-23 11:03:3510269browse

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