jQuery in Action, 2nd edition*
The moose likes Beginning Java and the fly likes Treat an object as a constant within a method Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Treat an object as a constant within a method" Watch "Treat an object as a constant within a method" New topic
Author

Treat an object as a constant within a method

sivakumar k r
Greenhorn

Joined: Jan 17, 2007
Posts: 4
Hi,

I would like to know as to whether it is possible in java to treat an object as a constant only within a particular method (constant object) (in short prevent modification to its instance variables only within that particular method).


Thanks & Regards,
Shiv


Shiv.. as I know him
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 37901
    
  22
No.


You can set the parameter as final which stops it being reassigned during the method, but if the instance variables are visible to the method, or if there are visible get and set methods, then the method can change the state of the object.
Joanne Neal
Rancher

Joined: Aug 05, 2005
Posts: 3416
    
  12
What are you trying to achieve ?

If the 'particular method' is one that you wrote, then it's simply a case of not putting any code in that method to change the object.

If the object's data is all private and can only be changed using setter methods, then it is possible to put code in those methods to work out where the method was called from and ignore the change if it was called from this 'particular method'. This sounds a pretty horrible thing to do though. If you explain exactly what the problem is, maybe someone can suggest an alternative solution.


Joanne
Ernest Friedman-Hill
author and iconoclast
Marshal

Joined: Jul 08, 2003
Posts: 24183
    
  34

You can use interfaces to present both "changeable" and "unchangeable" views of a class.



[Jess in Action][AskingGoodQuestions]
 
wood burning stoves
 
subject: Treat an object as a constant within a method
 
Similar Threads
use diffrent servlet values (how to unload a servlet)
Static vs instance methods
doubt in threads
where to declare those %&?!�$ variables
Object behaviour.