Hi if you dont specify access modifier for interface by default it is "public" because all the methods dont have any implementation , it is necessary that other classes implement interface and provide implementation to methods.
[faisal]: The default access modifier for a method in an interface is always public
The methods and fields within the interface are public (not just by default, but always, period, no exceptions). The interface itself is package access by default. Since Q1 asked about the interface (not a method or field) then the answer to Q1 should be package. Q2 asks about the field i, which is public. No one asked about method a(), but it's public too.