class Rectangle {}
class ColoredRectangle extends Rectangle {}
class Base {
void foo(Rectangle x) {
System.out.println("Base: foo(Rectangle)");
}
}
class Sub extends Base {
@Override
void foo(Rectangle x) {
System.out.println("Sub: foo(ColoredRectangle)");
}
}
public class WhatHappensHere {
public static void main(String[] args) {
Sub o = new Sub();
Rectangle rc = new ColoredRectangle();
((Base) o).foo(rc);
}
}
(Base) o
がo
の静的タイプを変更すると、私は苦労しています。私はそれがそれを変えないとここで言われたことを覚えています、それはどうしますか?なぜ私はそれをする必要がありますか?どんな条件でどのような目的のために?鋳造 - (ベース)o-実際に何をしていますか?
おかげ
を呼び出します.JonSkeetをStringにキャストするのと同じですか? –
Jon Skeetをタイプキャストすることは不可能です –
_God_サブクラスJon Skeetです。 – mre