In Java, why can't I declare a final member (w/o initializing it) in the parent class and set its value in the subclass? How can I work around?과 비슷한 질문이 있지만 다른 해결책이 필요합니다. 위의 경우와 마찬가지로 변수를 수퍼 클래스에서 Final로 선언하려고하지만 하위 클래스에서 값을 제공하도록합니다. 왜 내 문제가 다른가 그 값을 하위 클래스에 전달 싶지 않아, 그 하위 클래스 '값', 그래서 위의 솔루션을 나를 위해 작동하지 않는 알고 싶습니다. 그 때 나는이 작업을 수행하려고 :최종 값을 Java 하위 클래스로 연기합니다.
public class Superclass{
public final int x;
public Superclass(int x){
this.x = x;
}
}
public class Subclass extends Superclass{
public Subclass(){
x = 1;
super(x);
}
}
(:/첫 번째 줄에 있어야합니다 슈퍼에 전화를()) 작동하지 않았다. 그러나 이것은 기본적으로 내가 원하는 행동입니다. 이것을 할 수있는 좋은 방법이 있습니까? 감사!
왜 1에 X를 설정 한 후 슈퍼 클래스를 통해 1 X를 설정하려고? –
'super (1)'이 왜 당신에게 받아 들일만한 해결책이 아닌지 이해가 안됩니다. 그 부분을 설명해 주시겠습니까? –
글쎄, 내가 생각했던 바보 같은 문제를 과장하여 보았다. 고마워. – Steve