can abstract class have non abstract methods code example

Example 1: abstract class in java

Sometimes we may come across a situation where we cannot provide 
implementation to all the methods in a class. We want to leave the 
implementation to a class that extends it. In such case we declare a class
as abstract.To make a class abstract we use key word abstract. 
Any class that contains one or more abstract methods is declared as abstract. 
If we don’t declare class as abstract which contains abstract methods we get 
compile time error.
  
  1)Abstract classes cannot be instantiated
  2)An abstarct classes contains abstract method, concrete methods or both.
  3)Any class which extends abstarct class must override all methods of abstract
    class
  4)An abstarct class can contain either 0 or more abstract method.

Example 2: is it necessary for abstract class to have abstract method

No, abstract class can have zero abstract methods.

Example 3: Can we add a non-abstract method into abstract class?

Yes, we can. An abstract class can have both abstract and non-abstract methods

Example 4: write a program in which an abstract class is being defined containg an abstract method omputer(int a, int b) and a non abstract method as well

abstract class Sum{
   
   public abstract int compute(int a, int b);
   public void disp(){
	System.out.println("Method of class Sum");
   }
}
class Demo extends Sum{

   public int compute(int a, int b){
	return a+b;
   }
   public static void main(String args[]){
	Sum obj = new Demo();
	System.out.println(obj.compute(3, 7));
	obj.disp();
   }
}

Example 5: can you declare an abstract method in a non abstract class

No. A normal class(non-abstract class) cannot have abstract methods.

Example 6: can abstract class have non abstract methods in java

abstract class AbstractDemo { // Abstract class
   private int i = 0;
   public void display() { // non-abstract method
      System.out.print("Welcome to Tutorials Point");
   }
}
public class InheritedClassDemo extends AbstractDemo {
   public static void main(String args[]) {
      AbstractDemo demo = new InheritedClassDemo();
      demo.display();
   }
}

Tags:

Misc Example