내가 A 클래스의 객체를 someMeth(Object o)
의 인수로 넣으면이 객체 메소드에 어떻게 액세스 할 수 있습니까? 나는 바꿀 수 없거나 someMeth(Object o)
을 능가한다. 그럼 당신이 할 수있는Object 매개 변수에서 클래스를 가져 오는 방법은 무엇입니까?
A newObj = (A) o;
:
newObj.setS("example");
또는 짧은, 한 줄 버전 :
((A)o).setS("example");
을 그들은과 같이
A
를 입력
...
void someMeth(Object o) {
o.setS("example"); -- exception : setS() is undefined for type Object
}
...
class A {
private String s;
String getS() {
return s;
}
void setS(String value) {
s = value;
}
}
...
someMeth(new A());
이 그냥 나쁜 디자인 – MCMastery