JAVA中父类只有一种情况可以转换为子类,就是对象本身引用的就是子类,如:
但是在Android中发现一个另类,一直想不明白,希望大神指点一二!
为何?
public class Persion {}
public class Man extends Persion {}
Persion p = new Man();
Man m = (Man) p;
但是在Android中发现一个另类,一直想不明白,希望大神指点一二!
// ViewGroup.LayoutParams
public static class LayoutParams {
...
}
// ViewGroup.MarginLayoutParams:
public static class MarginLayoutParams extends ViewGroup.LayoutParams {
...
}
// 然而这样是没有错的,child.getLayoutParams() 看了很久,都是返回 ViewGroup.LayoutParams的
MarginLayoutParams lp = (MarginLayoutParams) child.getLayoutParams();
为何?