Skip to main content

Method Overloading and Overriding Interview Questions


Method Overloading and Overriding



1. What is the another name of Method Overloading?

Method Overloading is also known as Static Polymorphism.

2.In java, How will we implement method overloading?

We known, a class can have multiple method with same name but different arguments. It is called Method Overloading. To implement method overloading we have to create two methods with same name in a class and do one/more of the following:
1.     Different number of parameters
2.     Different data type of parameters
3.     Different sequence of data type of parameters

3. What kinds of argument variation are allowed in Method Overloading?

Method Overloading only allows two methods with same name to differ in:
1.     Number of parameters
2.     Data type of parameters
3.     Sequence of data type of parameters

4. It is not possible to do method overloading by changing return type of the method in java. Why ?

If we change the return type of overloaded method then it will lead to ambiguous behavior. How will clients know which method will return what type. Due to this different return type not allowed in overloaded methods.

5. Is it possible to overload main() method in Java?

Yes, Java allows users to create many methods with same name ‘main’. But java only use public static void main(String[] args) method for execution code.

6. How do we implement method overriding in Java?

To override a method, we just provide a new implementation of a method with same name method in subclass. So there will be at least two implementations of the method with same name. One implementation is in parent class. And another implementation is in child class.

7. Is it possible to override a static method in Java?

No. Java does not allow to overriding a static method. If you create a static method with same name in subclass, then it is a new method, not an overridden method.

8. Why does not allow overriding a static method in java?

To override a method, we need an instance of a class. Static method is not associate with any instance of the class. So the concept of overriding does not apply on static methods. So, Java does not allow overriding a static method.

9. Is it allowed to override an overloaded method in java?

Yes. we can override an overloaded method in Java.

10. What is the difference between overriding and overloading methods in Java?

Differences between method overriding and overloading are:
1.     Method overloading is static polymorphism. Method overriding is run-time polymorphism.
2.     Method overloading occurs within the same class. Method overriding happens in two classes with hierarchy relationship.
3.     Parameters must be different in method overloading. Parameters must be same in method overriding.
4.     Method overloading is a compile time concept. Method overriding is a run-time concept.

11. Does Java allow virtual functions?

Yes. All instance methods in Java are virtual function by default. Only class methods and private instance methods are not virtual method in Java.

12.What is meant by co-variant return type in Java?

A co-variant return type of a method is one that can be replaced by a "narrower" type when the method is overridden in a subclass.
Let say class X is child of class Z. There is a get() non-static method in class Z as well as class X. get() method of class Z can return an instance of Z, and get() method of class X return an instance of X. Here class X overrides get() method, but the return type is different. Before Java 5, any method that overrides the method of parent class would have same return type. From Java 5 onwards, a child class can override a method of parent class and the child class method can return an object that is child of object return by parent class method.



Comments

Popular posts from this blog

Microservices Interview Questions

Microservices Interview Questions 1. What is a Microservice in Java? A Microservice is a small and autonomous piece of code that does one thing very well. It is focused on doing well one specific task in a big system. It is also an autonomous entity that can be designed, developed and deployed independently. Generally, it is implemented as a REST service on HTTP protocol, with technology-agnostic APIs. Ideally, it does not share database with any other service. 2. What are the benefits of Microservices architecture? Microservices provide many benefits. Some of the key benefits are: 1.      Scaling : Since there are multiple Microservices instead of one monolith, it is easier to scale up the service that is being used more. Eg. Let say, you have a Product Lookup service and Product Buy service. The frequency of Product Lookup is much higher than Product Buy service. In this case, you can just scale up the Product Lookup service to run on powerful hardware with multipl

DOCKER Interview questions

DOCKER 1. What is Docker? Docker is Open Source software. It provides the automation of Linux application deployment in a software container. We can do operating system level virtualization on Linux with Docker. Docker can package software in a complete file system that contains software code, runtime environment, system tools, & libraries that are required to install and run the software on a server. 2. What is the difference between Docker image and Docker container? Docker container is simply an instance of Docker image. A Docker image is an immutable file, which is a snapshot of container. We create an image with build command. When we use run command, an Image will produce a container. In programming language, an Image is a Class and a Container is an instance of the class. 3. How will you remove an image from Docker? We can use docker rmi command to delete an image from our local system. Exact command is: % docker rmi <Image Id> If we want to fin

Cloud Computing Interview Questions

Cloud Computing 1. What are the benefits of Cloud Computing? There are ten main benefits of Cloud Computing: Flexibility : The businesses that have fluctuating bandwidth demands need the flexibility of Cloud Computing. If you need high bandwidth, you can scale up your cloud capacity. When you do not need high bandwidth, you can just scale down. There is no need to be tied into an inflexible fixed capacity infrastructure. Disaster Recovery : Cloud Computing provides robust backup and recovery solutions that are hosted in cloud. Due to this there is no need to spend extra resources on homegrown disaster recovery. It also saves time in setting up disaster recovery. Automatic Software Updates : Most of the Cloud providers give automatic software updates. This reduces the extra task of installing new software version and always catching up with the latest software installs. Low Capital Expenditure : In Cloud computing the model is Pay as you Go. This means there is very