Abstract class in Java.
Abstract class in Java
1.Abstract class is an important element in java which is declared with abstract keyword.
2.It is a collection of abstract method/function or non-abstract method.
3.We can not create instance(object) of an abstract class.
4.We can not define abstract function inside abstract class only can be declared,so it is the responsibility of derived class to implement the method/function of abstract class.
5.An abstract class is also extended by a class.
Example 1 :Abstract class withoud abstract method
abstract class Geometry { //declaring non-abstract method public void rectangle_area(int height,int width) { int ar=height*width; System.out.println("Area of rectangle="+ar); } //declaring non-abstract method public void square_area(int side) { int ar=side*side; System.out.println("Area of square="+ar); } //declaring non-abstract method public void circle_area(float radius) { float ar=3.14f*radius*radius; System.out.println("Area of circle="+ar); } } //extending abstract class class Easy extends Geometry { public static void main(String[] args) { //creating instance of derived class Easy obj=new Easy(); //calling method of abstract class obj.rectangle_area(12, 13); obj.square_area(12); obj.circle_area(2.2f); } } /* ### Output ### Area of rectangle=156 Area of square=144 Area of circle=15.197601 */
Abstract method/function in Java
1.abstract function is declared with abstract keyword.
2.It can be declared only inside abstract class.
3.It can not be defined inside abstract class ,only can be declared so it is the responsibility of derived class to implement abstract method.
Example 1 :Abstract class with abstract method
abstract class Geometry { //declaring abstract method abstract void rectangle_area(int height,int width); abstract void square_area(int side); abstract void circle_area(float radius); } //extending abstract class class Easy extends Geometry { //implementing abstrcat method of abstract class public void rectangle_area(int height,int width) { int ar=height*width; System.out.println("Area of rectangle="+ar); } //implementing abstrcat method of abstract class public void square_area(int side) { int ar=side*side; System.out.println("Area of square="+ar); } //implementing abstrcat method of abstract class public void circle_area(float radius) { float ar=3.14f*radius*radius; System.out.println("Area of circle="+ar); } public static void main(String[] args) { //creating instance of derived class Easy obj=new Easy(); //calling abstract method obj.rectangle_area(12, 13); obj.square_area(12); obj.circle_area(2.2f); } } /* ### Output ### Area of rectangle=156 Area of square=144 Area of circle=15.197601 */
Example 2 :Abstract class with abstract and non-abstract method
abstract class Geometry { //declaring abstract method abstract void rectangle_area(int height,int width); //declaring non-abstract or normal method public void square_area(int side) { int ar=side*side; System.out.println("Area of square="+ar); } //declaring non-abstract or normal method public void circle_area(float radius) { float ar=3.14f*radius*radius; System.out.println("Area of circle="+ar); } } //extending abstract class class Easy extends Geometry { //implementing abstrcat method of abstract class public void rectangle_area(int height,int width) { int ar=height*width; System.out.println("Area of rectangle="+ar); } public static void main(String[] args) { //creating instance of derived class Easy obj=new Easy(); //calling abstract method obj.rectangle_area(12, 13); //calling non-abstract or normal method obj.square_area(12); obj.circle_area(2.2f); } } /* ### Output ### Area of rectangle=156 Area of square=144 Area of circle=15.197601 */