Foo 클래스가 있고 Foo를 확장하는 Foo1과 Foo2 클래스가 두 개 있다고 가정 해 보겠습니다.새 클래스를 만들지 않고 클래스의 클래스를 변경하는 방법은 무엇입니까?
Foo가 Foo1 인 것으로 가정 해 봅시다. 생성자를 사용하지 않고 변경하려고합니다. 는 F의 필드를 변경의 문제라면, 내가 수동으로 할 수 있습니다 :
f.field1= ..
f.field2= ..
하지만이 FOO2로를 변경하려는 경우 내가 무엇을 할 수 있습니까?
N.B는 : 요점은 내가 그런 일을하고 싶은 것입니다 :
Foo f=new Foo1(...);
Foo g=f;
g=new Foo2(...);
및 g 변경,하지만 분명이 작동하지 않을 때 F 변화가 있습니다.
Java에있는 것들을 변경할 수 없습니다. 당신은 다른 것들을 만들 수 있습니다. – pamphlet
아마 당신은 정교하고 싶습니까? Foo1을한다면 f1 = new Foo1(); Foo g = f1; g.setSomething ("val")과 같이 g와 f1을 모두 변경합니다. 나는 왜 당신이 g = new Foo2()를 가지고 있는지 모르겠다. 그리고이 경우에 "g가 바뀔 때 f가 변한다"는 것은 무엇을 의미 하는가? – mvmn
나는 f와 g가 Foo2가되도록하고 싶습니다. g.setSomething ("...")을 사용하여 얻을 수없는 것입니다. – Arnaud