5.this
this變數的使用:
1.用在成員變數前面 (當前物件的***屬性)
2.成員方法前 (當前的物件)
3.**冗餘:使用this可以呼叫自身的另外乙個建構函式
4.this作為返回值
public class person 前面
public class person
public static void m2()
修飾符 返回值 方法名 形參列表 方法體
父類中的方法 相 相 相 不
子類重寫的方法 同 同 同 同
重寫方法必須和被重寫方法具有相同方法名稱,引數列表和返回型別
許可權修飾符:從嚴格到寬鬆的順序:private default protected public
子類的許可權修飾,不能比父類的嚴格
-----父類-----
public class person
public class test存在,方法就是實現了。即使{}裡面什麼都沒有,這叫空實現
方法定義:許可權 返回值型別 方法名()
public void eat()
但問題又來了:這違背了我們之前掌握的理論:方法遵循「定義」「賦值/實現」「訪問」
====> 解決方法:在方法的定義中假如關鍵字「abstract」(抽象的)
結論:抽象方法,只有定義,沒有實現。稱為「抽象方法」
抽象類:包含抽象方法,一定要「定義」成抽象類 ===>即使沒有包含抽象方法,這個類一樣可以定義成抽象類
特性:抽象方法必須必重寫(完善實現)
抽象類「天生」就是被繼承的
抽象類不能被直接實現*****>不能被例項化
16.final
預設名稱全大寫
1.修飾變數 不變的變數,即變數值不能更改
2.修飾方法(不能被重寫)
3.修飾類(不能被繼承);
class person {
private string name; // 變數,屬性 attribute property
public person(string name) {
this.name = name;
// 取值方法 getter或者setter方法命名約定:set/get + attribute首字母大寫
public string getname() { // get方法字尾首字母變小寫後得到的單詞:property
return name;
// 賦值
public void setname(string name) {
this.name = name;
class test {
public static void main(string args) {
person p = new person("zs");
// 獲取物件的private屬性值
system.out.println(p.name); // error 封裝
system.out.println(p.getname()); // zs
// 重新給name屬性賦值
p.setname("ls");
重寫@override
@override
public void eat() {
// todo auto-generated method stub
super.eat();
J2SE第三章 物件導向(一)
類 物件 抽象類 介面 面向介面程式設計 分類概念 是整體概念 物以類聚 是抽象的 每個個體 分類中的每乙個個體,起個名稱,就是物件,也叫例項。具體的 1.描述乙個類 類名 有參建構函式 建立物件的同時為物件屬性賦值,靠形參列表與無參建構函式區分 方法過載 person boolean s s pu...
J2SE 物件導向
public static void main string args throws exception 資料型別 容量從小到大基本型別 byte short char int long float double boolean不能相互轉換 容量小的自動轉換為大的 容量大的轉換為小的時需加上強制轉換...
J2SE 物件導向總結
物件導向,即oo。我將物件導向的內容分為兩部分,一部分是物件導向的思想精髓,另一部分是物件導向在機器記憶體中的具體實現。下面是我的總結 檢視導圖中更詳細內容 這裡,我們重點對比總結以下內容 類和物件 1.從定義上 類是乙個概念,是乙個模板,規定了一類具有共同特點的物件。物件是是乙個例項,是類例項化的...