- Static binding happens at compile-time, dynamic binding at runtime.
- Binding of private, static and final methods always happen at compile time since these methods cannot be overridden. Binding of overridden methods happen at runtime.
- Java uses static binding for overloaded methods and dynamic binding for overridden methods.
- Enum constructor without access modifier specified has private access.
- Switch clause cannot have null value. Brings NPE.
- Annotations can have just types : String, another anottations, primitive types, Enums, Class and arrays of types already mentioned.
- ThreadLocal enables you to create variables that can only be read and written by the same thread. usages