I am a big fan of DrJava. I am an educator who has used DrJava for about 6 years to teach thousands of university students. However I was surprised and disappointed to find that in the Sep 2008 stable version, one was able to access an object's private variables from the interactions pane. For example:
> Thing thing = new Thing();
> thing.x = 10; // should fail but doesn't
The statement above succeeds even if x is private. This would (logically) fail in prior versions, such as the 2007 stable version. The fact that the statement above succeeds is a big problem for us because it doesn't demonstrate how the private keyword protects a variable. It puts a serious kink the educational value of the interactions pane. Now we have to say "well, we shouldn't be able to change x but the DrJava interactions pane has a bug." Perhaps this has been fixed in the new beta version? I haven't had time to check. I very much hope this problem can be fixed and incorporated in a new version before the fall semester starts!
See also:
https://sourceforge.net/tracker/index.php?func=detail&aid=1914487&group_id=44253&atid=438935
Duplicate of 1914487: private constructors in classes are accessible
https://sourceforge.net/tracker/?func=detail&aid=1914487&group_id=44253&atid=438935