Interface provide 100% abstraction it has methods that don't have implementation to fulfill there abstract behavior but here i have one example which force me to think of abstraction capability of Interface.
i have interface and class inside it and it has concrete method and i can access that method in another class
Example:-
interface InnerInterFaceTest1 {
     class InnerClass {
        public  void doWork() {
            System.out.println("in interface innner class");
        }
    }
}
public class InnerInterFaceTest implements InnerInterFaceTest1 {
    public static void main(String... a) {
        InnerInterFaceTest1.InnerClass class1 = new InnerInterFaceTest1.InnerClass() ;
        class1.doWork();
    }
}
concept of interface having inner class does this???or else what that make sense??