Abstract class in java

An abstract class is the class which is declared abstract and can have abstract or non abstract methods. An abstract class can not be instantiated. It can be extended by subclass to implement abstract methods and either use or override concrete methods.

Abstract method in java

Abstract method is the method which do not have implementation i.e. it does not have anybody.

When do you need abstract class in java?

Let’s understand it with the help of the example. You have Shape class and it has some methods such as draw(), calcualteArea() etc. Drawing a shape is common for all the shapes but calculateArea() is different for each shape.

For example:

For Rectangle, it will be calculated as length * breadth and for circle, it will be pi* radius^2.

So with above behavior, we will implement draw() method in shape class and will create calcualteArea() as abstract method.So if you have some common behaviors and some specific behavior, make your class abstract.

Let’s create a abstract class as Shape and Rectangle, Circle class as concrete classes.

Example of Abstract class in java:

Create a main class named “AbstractClassMain”
============================
Draw method in shape class
Area of rectangle is 12.0
============================
Draw method in shape class
Area of circle is 28.259999999999998
============================

Let’s consider some cases to understand abstract class in java better:
Case 1: Is is possible to have zero abstract method in class but still you can declare class as abstract.
Answer:
Yes, It is possible to declare class as abstract even if you don’t have any abstract method in the class.
For example:

public void draw() { System.out.println(“Draw method in shape class”); } }

Case 2: Class contains abstract method but is it possible to not declare class as Abstract?
Answer:
No, It is mandatory to declare class as Abstract but it contain abstract method.

You will get compilation errors:

  • At line 1 : “The type Shape must be an abstract class to define abstract methods”
  • At line 7: “The abstract method calculateArea in type Shape can only be defined by an abstract class”

If you have abstract method in class, class must be declared as abstract class in java

Case 3: Can you declare class as final and abstract at the same time?

Answer:

No, you can not declare class as final and abstract at the same time. Final means No other class can extend that class and Abstract means Class must be extended by any other class.

Case 4: Can you instantiate abstract class in java?

Answer:

No, you can not instantiate abstract class.

You can not instantiate abstract class in java

Case 5: If you are extending an abstract class in java, do you need to implement all the abstract methods of that class?

Answer:

Yes, you need to implement all the abstract method of superclass unless and until subclass is also an abstract class in java.

That’s all about abstract class in java.

Was this post helpful?

Related Posts

  • 28 January

    PowerShell – Get Number of Lines in CSV File

    Table of ContentsUsing Get-Content CmdletUsing Import-Csv CmdletUsing Get-ChildItem with Foreach-Object Using Get-Content Cmdlet The Get-Content cmdlet can be used in the following ways to get the number of lines in the specified .csv file: Get-Content cmdlet with .Length property Get-Content cmdlet with .Count property Get-Content cmdlet with .ReadCount property Get-Content cmdlet with Measure-Object cmdlet and […]

  • Read CSV file in PowerShell
    28 January

    Read CSV File in PowerShell

    Table of ContentsUsing the Import-Csv CmdletUsing the ConvertFrom-Csv CmdletUse the ConvertFrom-Csv Cmdlet with the Pipe (|) OperatorUse the ConvertFrom-Csv Cmdlet with the -InputObject Parameter Using the Import-Csv Cmdlet To read a CSV file in PowerShell, use the Import-Csv cmdlet. [crayon-63da55e50a110958394512/] [crayon-63da55e50a11a526771151/] PowerShell provides several cmdlets that allow us to work with CSV files: Import-Csv ConvertFrom-Csv […]

  • Read File into String in PowerShell
    27 January

    Read File into String in PowerShell

    Table of ContentsUsing the Get-Content CmdletUse the Get-Content Cmdlet to Read a Single FileUse the Get-Content Cmdlet with forreach loop to Read Multiple FilesUsing [System.IO.File]::ReadAllText() MethodUse the [System.IO.File]::ReadAllText() Method with foreach loop to Read Multiple FilesUsing the Variable Notation with the Out-String Cmdlet Using the Get-Content Cmdlet We can use the Get-Content cmdlet to read […]

  • Get String between two characters in JavaScript
    27 January

    Get String Between Two Characters in JavaScript

    Table of ContentsUsing substring() MethodUsing slice() MethodUsing split() MethodUsing substr() Method 💡TL;DR Use the substring() method to get String between two characters in JavaScript. [crayon-63da55e50a7be768992019/] [crayon-63da55e50a7c6046335881/] Here, we got String between , and ! in above example. Using substring() Method Use the substring() method to extract a substring that is between two specific characters from […]

  • Remove property from Object in PowerShell
    27 January

    Remove Property from Object in PowerShell

    Table of ContentsUsing PSObject.Properties.Remove() MethodUsing -ExcludeProperty Parameter Using PSObject.Properties.Remove() Method To delete a property from an object in PowerShell, Use the New-Object cmdlet to create an object. Use the PSObject.Properties.Remove() method to remove a specific property from an object by providing the property’s name as a string parameter. [crayon-63da55e50ae72664560787/] [crayon-63da55e50ae7c772262545/] In the above code, we […]

  • Create File if not exists PowerShell
    26 January

    Create File If Not Exists in PowerShell

    Table of ContentsUsing the if-else StatementUse the New-Item CmdletUse the Out-File CmdletUsing the try-catch StatementUse the New-Item CmdletUse the Out-File CmdletUsing One-Liners Using the if-else Statement We can use the if-else statement to create a file as follows: Use the New-Item Cmdlet To create a file if it does not exist in PowerShell: Use the […]

Leave a Reply

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

Subscribe to our newletter

Get quality tutorials to your inbox. Subscribe now.