abstract methods are contained in both interface and abstract classes. Neither abstract classes nor interface can be instantiated and we create object for the class which implements abstract class or interface
In java abstract class can have abstract methods and non abstract methods.But if we have atleast one abstract method in a class then the compiler will force the user to make the class as abstract. We can just make an class having all concrete methods as abstract also ( kind of privacy setting ) so no one will instantiate an object of that class. An interface in java is like a contract between the interface and the class which implements it . In an interface all the methods are public abstract and all the variable are public static final . An interface can never have a concrete method. An interface basically acts as a design pattern also ( like factory design pattern) best example is the JDBC api's Connection , statement , resultset all are interfaces so decoupled architecture is created and helps the application to be saclable and maintainable.