Java Abstract Class & Method
In Java, an abstract class is a class that cannot be instantiated on its own, but can be used as a superclass for other classes. Abstract classes are useful when you want to define a common interface for a group of related classes, but you don't want to provide a complete implementation of that interface.
An abstract class is defined using the abstract
keyword, and it can contain both abstract and non-abstract methods. An abstract method is a method that has no implementation and is marked with the abstract
keyword. Subclasses of the abstract class must provide an implementation of all abstract methods in the parent class.
Here is an example of an abstract class in Java:
abstract class Animal { public abstract void makeSound(); public void sleep() { System.out.println("The animal is sleeping"); } } class Cat extends Animal { @Override public void makeSound() { System.out.println("Meow"); } } class Dog extends Animal { @Override public void makeSound() { System.out.println("Woof"); } }Source:www.theitroad.com
In this example, the Animal
class is abstract and defines an abstract method makeSound()
and a non-abstract method sleep()
. The Cat
and Dog
classes extend the Animal
class and provide their own implementations of the makeSound()
method.
It's important to note that abstract classes cannot be instantiated directly, but they can be used as types for variables, method parameters, and return types. This allows you to define a common interface for a group of related classes, while still allowing each subclass to provide its own implementation.
Overall, abstract classes and methods are an important part of Java programming, and they provide a way to define a common interface for a group of related classes, while still allowing each subclass to provide its own implementation of that interface.