Popular Posts

Monday, July 18, 2011

final class instance in method arguments

If we pass a final class instance variable?

public class Test {
public static void main(String[] args) {
TestObject test = new TestObject();
modifyObjectName(test);
}

public static void modifyObjectName(final TestObject testObj) {
System.out.println(testObj.getName());//first
testObj.setName("name");
System.out.println(testObj.getName());//name
testObj = new TestObject();//throw an error.Cannot modify final object reference
}
}



public class TestObject {

private String mName = "first";

public void setName(String pName) {
mName = pName;
}

public String getName() {
return mName;
}
}

No comments:

Post a Comment