Runnable을 통해 액세스하려면 final 메서드에서 매개 변수를 선언해야하지만 여전히 메서드에 액세스 할 수 있습니까? 개체를 조금 편집해야합니다. 나는이 질문에 나를 도울 수있는 것을 찾을 수 없다. 그래서 바보 같은 질문이 아니길 바란다. 고마워요!최종 개체의 방법을 사용할 수 있습니까?
0
A
답변
3
개체는 final
아니지만 참조는입니다. 따라서 객체를 수정하기위한 메소드 (있는 경우)에 쉽게 액세스 할 수 있습니다.
0
final
으로 표시된 경우에도 개체의 상태를 변경할 수 있습니다. 참조 변수 final
을 표시하면이를 다른 객체에 재 할당 할 수 없지만 해당 메소드를 호출하여 이미 참조 된 객체의 상태를 확실히 변경할 수 있습니다.
0
가능합니다. 이 예제를 확인하십시오
public class SampleA
{
private static final SampleB sampleB = new SampleB();
public static void main(String[] args)
{
System.out.println(sampleB.toString());
sampleB.setM1("1");
System.out.println(sampleB.toString());
}
}
public class SampleB
{
private String m1;
private String m2;
public String getM1()
{
return m1;
}
public void setM1(String m1)
{
this.m1 = m1;
}
public String getM2()
{
return m2;
}
public void setM2(String m2)
{
this.m2 = m2;
}
public String toString()
{
final String TAB = " ";
String retValue = "SampleB ("
+ "m1 = " + this.m1 + TAB
+ "m2 = " + this.m2 + TAB
+ ")";
return retValue;
}
}
저는 실제로 변수 *라고 말하고 싶습니다. 최종 변수입니다. 변수의 값을 다른 참조로 변경할 수 없습니다. 하지만 이것은 여전히 도움이됩니다 :) –