I'm learning about interfaces from a udemy tutorial. And the instructor are saying that interfaces will be initialized only if one of its static method is accessed or one of its field that is a non compile time constant is accessed, and the field is initialized via a method or constructor.
I don't understand the second part of this phrase, the part with non compile time constant. I don't understand it because I know that an interface can have only public static final variables and these are non compile time constants. Isn't it? Does an interface have other fields than non compile time constants? Any feedback will be appreciated! Thank you!