---
title: "Differences between abstract class and interface OOPs concepts."  
description: "Differences between abstract class and interface OOPs concepts."  
author: "Ethan Karla"  
published: 2021-08-26  
canonical: https://answers.mindstick.com/qa/93929/differences-between-abstract-class-and-interface-oops-concepts  
category: "programming"  
tags: ["c#", "java programming", "java", "pythons"]  
reading_time: 1 minute  

---

# Differences between abstract class and interface OOPs concepts.

[Differences](https://www.mindstick.com/articles/12918/cat-5e-vs-cat-6a-understanding-the-major-differences) between [abstract](https://www.mindstick.com/forum/23108/difference-between-abstract-classes-and-interfaces) [class and interface](https://www.mindstick.com/forum/23098/difference-between-abstract-class-and-interface-in-java) [OOPs](https://www.mindstick.com/articles/1558/introduction-to-oops-object-oriented-programming-system) concepts.

## Answers

### Answer by Ravi Vishwakarma

**[Abstract Class](https://www.mindstick.com/articles/92/static-and-abstract-class)** 1. Abstract class is a class, which is built by **abstract** keyword. 2. This class can’t be instantiated ie that can’t create an object. 3. Abstract class contains the abstract and non-abstract methods. 4. We need to declare an abstract method in the abstract class by using the abstract keyword. 5. An abstract class has a constructor. **Syntax**

```
abstract class class-name{    abstract datatype function-name();}
```

\
**[Interface](https://www.mindstick.com/articles/23301/interface-in-oops)** 1. An interface not a class, which is built by **interface** keyword. 2. The interface can’t be instantiated but also create the reference variable. 3. Interface always contains the abstract method. 4. We don’t need to declare the abstract method in the interface because the interface method is by default the abstract method. 5. An interface doesn’t have a constructor. **Syntax**

```
access-modifier interface interface-name{
    datatype method-name();
}
```

\

## Abstract class

```
public abstract class Shape{
    public abstract void draw();
}
```

## Interface

```
public interface Paintable{
    void paint();
}
```


---

Original Source: https://answers.mindstick.com/qa/93929/differences-between-abstract-class-and-interface-oops-concepts

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
