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運算符創建的對象都存在於 堆 中。而基本數據類型創建的對象都存儲在 堆棧 中.