beginnersbook.com

  • Home
  • All Tutorials
    • Learn Servlet
    • Learn JSP
    • Learn JSTL
    • Learn C
    • Learn C++
    • Learn MongoDB
    • Learn XML
    • Learn Python
    • Learn Perl
    • Learn Kotlin
  • Core Java
  • OOPs
  • Collections
  • Java I/O
  • JSON
  • DBMS

Java – Constructor in Interface?

By Chaitanya Singh | Filed Under: OOPs Concept

This is a most frequently asked java interview question. The answer is No, interface cannot have constructors. In this post we will discuss why constructors are not allowed in interface?

As we know that all the methods in interface are public abstract by default which means the method implementation cannot be provided in the interface itself. It has to be provided by the implementing class. Lets have a look at the following program:

interface SumInterface{

    public int mymethod(int num1, int num2);
}
public class SumClass implements SumInterface{

    public int mymethod(int num1, int num2){
           int op= num1+num2;
           return op;
    }
    public static void main(String args[])
    {
           SumClass obj= new SumClass();
           System.out.println(obj.mymethod(2, 3));
    }
}

As you can see we have implemented the method mymethod() in the class SumClass that implements the interface. So there is no need to have interface object(interface cannot be instantiated in fact) in order to call the method as the implementation is in the class and class object can call this method.

Lets come to the point now: All the methods of interface doesn’t have body so there is no need to call the methods in the interface itself. In order to call any method we need an object since there is no need to have object of interface, there is no need of having constructor in interface (Constructor is being called during creation of object).

Enjoyed this post? Try these related posts

  1. Final method parameters in java
  2. OOPs concepts – What is Association in java?
  3. Constructors in Java – A complete study!!
  4. Java static import with example
  5. Types of polymorphism in java- Runtime and Compile time polymorphism
  6. OOPs in Java: Encapsulation, Inheritance, Polymorphism, Abstraction

Comments

  1. rajyalakshmi says

    June 29, 2014 at 10:32 AM

    good

    Reply
  2. akash says

    February 16, 2016 at 11:05 AM

    but now default method of interface have a body. and child class constructor call to the parent constructor automatically , so what happened in above example. please tell me , i am newbie. Thanx

    Reply
    • Chaitanya Singh says

      August 18, 2017 at 2:45 PM

      Hey Akash, You are missing a point here. Child class constructor invokes parent class (not interface) constructor.

      Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Java Tutorial

  • Java Index
  • Java Introduction
  • JVM - Java Virtual Machine
  • First Java Program
  • Variables
  • Data Types
  • Operators

Java Control Statements

  • Java If-else
  • Java Switch-Case
  • Java For loop
  • Java while loop
  • Java do-while loop
  • Continue statement
  • break statement

OOPs Concepts

  • OOPs Concepts
  • Constructor
  • Static keyword
  • Inheritance
  • Types of inheritance
  • Aggregation
  • Association
  • Super Keyword
  • Method overloading
  • Method overriding
  • Overloading vs Overriding
  • Polymorphism
  • Types of polymorphism
  • Static and dynamic binding
  • Abstract class and methods
  • Interface
  • Abstract class vs interface
  • Encapsulation
  • Packages
  • Access modifiers
  • Garbage Collection
  • Inner classes
  • Static import
  • Static constructor
  • Java Interview Q

MORE ...

  • Java 8 Features
  • Java 9 Features
  • Java Conversion
  • Java String
  • Exception handling
  • Java Multithreading
  • Java I/O
  • Java Serialization
  • Java Regex
  • Java AWT
  • Java Swing
  • Java Enum
  • Java Annotations

Copyright © 2012 – 2021 BeginnersBook . Privacy Policy . Sitemap