Hello Friends, If anybody have read JLS - Java Language Specifications !!! Please tell me what is all about - Binary Compatibility (Chapter No - 13) Is that included in the syllabus of SCJP ?? And basically what is that Binary compatibility ?
No, Binary Compatability will not be covered on the SCJP test. It concerns when a compiled bytecode file may need to be recompiled, and when it does not need to be recompiled, in response to changes in classes that compiled file uses. For example, say a class Foo makes use of a class Bar. The programmer then makes changes to the source code in Bar, and recompiles Bar. At this point, Foo may or may not need to be recompiled, depending on the kinds of changes made in Bar. That's what Binary Compatibility is talking about.
The JLS state that: "To preserve binary compatibility, a class or interface should treat its accessible members and constructors, their existence and behavior, as a contract with its users." What this mean is that any class member that is visible to other classes must not change, so variable names cannot change, function signature cannot change. But you are free to change or delete private members. You are also allowed to add new fields and methods, or modify the body of a function, and a few other things. [ March 06, 2002: Message edited by: Rajinder Yadav ]
<a href="http://www.rajindery.com" target="_blank" rel="nofollow">Rajinder Yadav</a><p>Each problem that I solved became a rule which served afterwards to solve other problems. --Rene Descartes