Java: why should static interface methods have a body? -
i need have bunch of classes initialize
static method instead of static {...}
block initialization tasks run. in java 8 possible define static interface method don't need have body, need know class implements static method.
interface initializable { static void initialize(){} } class icons implements initializable { public static void initialize(){ //... } //... }
what's wrong idea of using static interface methods in case , why not possible define interface static method without body?
general purpose is: initialize collection
of classes on application start calling respective methods. initialization tasks are: establishing database connection, rendering icons , graphics, analyzing workstation configuration etc.
what want not possible. interfaces prescribe instance methods need implemented class.
a static method not need instance of containing class run, , thus, if not need private members, can in principle placed anywhere. since java 8, can placed in interface, organisational feature: can put static methods 'belong to' interface in interface, , not need create separate classes them (such collections
class).
try following source code:
interface { static void f() { } } public b implements { }
now, trying call b.f()
or new b().f()
issue compiler error. need call method a.f()
. class b
not inherit static methods interface.
Comments
Post a Comment