1. 堆與棧
//物件生存空間堆——堆2. 建構函式//方法呼叫及變數的生存空間——棧;呼叫某一方法時,該方法會被放在呼叫棧的棧頂
duck d =new duck(24)//物件引用變數d在棧上,物件duck始終在堆上
//例項變數——宣告在類中方法之外的地方——堆上,存在於物件所屬的堆空間上
//區域性變數——宣告在方法或方法的引數上——棧上,隨方法消失
//物件引用變數——在初始化物件時——棧上
public duck()//構造方法沒有返回型別,且與類名相同
//在new時會呼叫建構函式
//建構函式不能被繼承3.例項變數賦值初始化相關問題//建構函式可以是公有、私有或不指定
//在建立新物件時,所有繼承下來的建構函式都會被執行
//呼叫父類建構函式的唯一方法是呼叫super()
4. 呼叫父類建構函式3.1 一般通過建構函式對例項變數賦值
3.2 但是無法被使用duck的程式設計師來決定大小,因此可以使用setsize()來設定大小public duck()
3.3 如果某類物件不應該在狀態初始化之前就使用,就別讓任何人能夠在沒有初始化的情況下取得該物件,如果使用者構造出duck物件,但是忘記執行setsize(),因此需要將初始化的程式**寫到建構函式中,同時要設定多個建構函式,以應對不同的情況,如引數型別,或者沒有引數等。(注:如果已經寫了帶引數的建構函式,則必須寫乙個不帶引數的,因為編譯器不再執行預設構造引數)——建構函式過載public class duck
public void setsize(int newsize)
size =newsize;
}}public class useaduck
}
public class duck
}public class useaduck
不能直接呼叫父類的建構函式,要通過super()方法進行呼叫;父類的建構函式必須要在子類的建構函式之前結束
super呼叫必須是建構函式第乙個命令
5. 有引數的建構函式public class duck extends animal
}
通過get方法和super方法獲得6. 從某個構造函式呼叫過載版的建構函式public abstract class animal
public animal(string thename)
} public class hippo extends animal
} public class makehippo
}
7. 三種方法釋放引用使用this()進行呼叫
class mini extends car
public mini(corlor c)
public mini(int size)
}
①引用永久性的離開它的範圍 void go()//z在方法結束時消失②引用被複製到其他物件上 life z=new life();z =new life();//第乙個物件會在z賦值到別處時消失
③直接將引用設定為null。life z=new life();z=null;//第乙個物件會在z賦為null時消失
python第三課答案 python第三課
字串操作 s alexwusir s1 s.capitalize 首字母大寫 print s1 全大寫,全小寫 s2 s.upper s21 s.lower print s2,s21 大小寫翻轉 s3 s.swapcase print s3 每個隔開 特殊字元或數字 的單詞首字母大寫 s alex ...
python第三課答案 python第三課筆記
以下哪個變數的命名不正確?為什麼?a mm 520 b mm520 c 520 mm d 520 mm 答 c不正確,不能數字開頭 在不上機的情況下,以下 你能猜到螢幕會列印什麼內容嗎?myteacher 小甲魚 yourteacher myteacher yourteacher 黑夜 print ...
python第三課答案 python第三課
1.迴圈物件,主要呼叫next 2.迭代器iterator 在理解上可以和迴圈物件理解為乙個東西。3.生成器 generator 自定義的迴圈物件。4.表推導 list comprehension 是快速生成表的方法。表推導用中括號。l x 2 for x in range 10 練習 f open...