Because single class is implementing both the interfaces so "method()" will be common for both the interfaces and method will belong to the class itself so it does not matter with which object are you calling the method.
1 should know which interface method he/she has implemented...doesnt 1 required to know it ?
The question doesn't make much sense to me. As everyone said, the method that you declared in class inter overrides the method of both interface a and b. Now what else do you want to know. If it were overriding the method of either one of the interface, then you'll get a compilation error as your class inter is not abstract. Basically if the code was like this
So basically in your code method overrides the method of both a and b because if a class doesn't override all the methods of its super-interfaces, then it must be declared abstract...