1.上转型对象不能操作子类定义的变量。
class M{
double n;
int m;
void f(){
System.out.println("子类继承的方法f().n="+n+" m="+m);
}
void g(){
System.out.println("我是父类的方法,子类会将我隐藏 。n="+n+" m="+m);
}
}
class N extends M{
double n=20.0; //子类重新给n赋值了,但上转型对象操作的还是隐藏的变量n.
void g(){
System.out.println("我重写了方法 g().n="+n+" m="+m);
}
void cry(){
System.out.println("我新增了一个方法 cry().n="+n+" m="+m);
}
}
成员变量不和方法一样:父类中有 double n,子类中有double n=20.0.但并象是方法的继承关系。
2.用new运算符创建的对象都存在于 堆 中。而基本数据类型创建的对象都存储在 堆栈 中.