Java의 클래스 및 생성자에 대해 배우고 있습니다. 나는 예제 프로그램에서 코드를 둘러보고 정확히 무슨 일이 일어나는지 알 수 없다.Java 생성자의 최종 매개 변수
이 코드는 나에게 의미가있는 컴파일되지 않습니다 :
class Line {
Point start;
Point end;
Line(final Point start, final Point end) {
this.start = new Point(start);
this.end = new Point(end);
start = new Point(0.4, 0.4);
}...
나는 Point 객체의 생성자를 호출하여 또 다른 포인트 객체에 대한 원래의 시작 지점 개체 참조를 할당 할 노력하고있어. 최종 키워드가이 키워드와 충돌합니다. 나는 포인트의 시작 매개 변수에서 최종 키워드를 ... 제거 할 때
그러나
class Line {
Point start;
Point end;
Line(Point start, final Point end) {
this.start = new Point(start);
this.end = new Point(end);
start = new Point(0.4, 0.4);
}
실제로 참조, 라인 생성자에 전달되는 포인트 객체를 변경하지 않는 것은 여전히 보인다 원래 객체를 가리키고 Line 생성자의 코드에 의해 바뀌지 않습니다. 그래서 무엇을 제공합니까? 이것은 'start'가 Line 생성자의 범위에서 로컬이라는 사실과 관련이 있습니까?
생성자에 수정자가 없습니다. –