Which of these statements about Interfaces are true ? a) Interfaces are abstract by default. b) An Interfaces can have static members. c) All methods in an interfaces are abstract although you need not declare them to be so. d) Fields of an Interface may be declared as transient or volatile but not Synchronized. e) Interfaces cannot be final. Answer given are a and c. My question is why not e ? Interfaces are abstract so they cannot be final. Pls. clarify this.
Joined: Feb 12, 2001
b) An Interfaces can have static members. e) Interfaces cannot be final. I think the answer should be a, b, c, e. b) is right because interfaces can define constance and they are public static and final e) is correct because interfaces are abstract and therefore can not be final Mugal's book page 111, states this explicitly.
Joined: Feb 25, 2001
i think a,b,c are right.. interfaces cannot be final becasue that will mean that one can't extend an interface under any circumstances , which is not possible.. and not mentioned anywhere in JLS.. i guess.. ------------------ Hima
Hima<BR>Sun Certified Java Programmer
Joined: Feb 26, 2001
For the choice b, if it is member variables in an interface then they are public, static and final, even if not stated. However, interface cannot have static member functions.