2014-12-19 4 views
1

생성자가 설정 한 일부 변수를 새로 고쳐야하기 때문에이를 생각해 냈습니다.동일한 클래스의 메서드 내에서 생성자를 호출하려면 어떻게해야합니까?

동일한 클래스의 메소드에서 어떻게합니까? 같은 인스턴스를 유지하고 싶습니다.

this(); 

생성자의 호출은 첫 번째 행에서 내가 단지 또 다른 생성자 내에서이 작업을 수행 할 수있는 것 생성자

에서 첫 번째 문이어야합니다.

답변

10

초기화 코드를 생성자에서 호출 할 수있는 다른 방법 (예 : init())으로 옮기는 것이 좋습니다.

생성자는 다른 방법과 같이 간주되어서는 안됩니다. 그들의 목적은 클래스의 새로운 인스턴스를 생성하는 것입니다. 그래서 그 객체의 메소드에서 하나를 호출하면 호출자의 인스턴스 변수를 변경할 수 없습니다.

+0

나는 그것에 대해 생각했지만 읽기가 어려울 것입니다. Java에서 생성자를 제공하는 경우 왜해야합니까? 그것도 역시 방법입니다, 그렇다면 왜 사용하지 않아야합니까? –

+0

@joiner Java 언어 사양에 따라가 아니라 메소드가 아닙니다. 자바 컴파일러에. 그들은 생성자입니다. –

+0

그러나 시체가 있습니다. –

관련 문제