Abstract class in JavaA class which is declared with the abstract keyword is known as an abstract class in Java. It can have abstract and non-abstract methods (method with the body). Before learning the Java abstract class, let's understand the abstraction in Java first. Abstraction in JavaAbstraction is a process of hiding the implementation details and showing only functionality to the user. Another way, it shows only essential things to the user and hides the internal details, for example, sending SMS where you type the text and send the message. You don't know the internal processing about the message delivery. Abstraction lets you focus on what the object does instead of how it does it. Ways to achieve AbstractionThere are two ways to achieve abstraction in java
Abstract class in JavaA class which is declared as abstract is known as an abstract class. It can have abstract and non-abstract methods. It needs to be extended and its method implemented. It cannot be instantiated. Points to Remember
Example of abstract class Abstract Method in JavaA method which is declared as abstract and does not have implementation is known as an abstract method. Example of abstract method Example of Abstract class that has an abstract methodIn this example, Bike is an abstract class that contains only one abstract method run. Its implementation is provided by the Honda class. Test it Nowrunning safely Understanding the real scenario of Abstract classIn this example, Shape is the abstract class, and its implementation is provided by the Rectangle and Circle classes. Mostly, we don't know about the implementation class (which is hidden to the end user), and an object of the implementation class is provided by the factory method. A factory method is a method that returns the instance of the class. We will learn about the factory method later. In this example, if you create the instance of Rectangle class, draw() method of Rectangle class will be invoked. File: TestAbstraction1.java Test it Nowdrawing circle Another example of Abstract class in javaFile: TestBank.java Test it NowRate of Interest is: 7 % Rate of Interest is: 8 % Abstract class having constructor, data member and methodsAn abstract class can have a data member, abstract method, method body (non-abstract method), constructor, and even main() method. File: TestAbstraction2.java Test it Nowbike is created running safely.. gear changed Rule: If there is an abstract method in a class, that class must be abstract.Test it Nowcompile time error Rule: If you are extending an abstract class that has an abstract method, you must either provide the implementation of the method or make this class abstract.Another real scenario of abstract classThe abstract class can also be used to provide some implementation of the interface. In such case, the end user may not be forced to override all the methods of the interface. Note: If you are beginner to java, learn interface first and skip this example.Test it NowOutput:I am a I am b I am c I am d
Next TopicInterface in Java
|