仍然線程中---12.3

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章