JavaSE 物件導向下

2021-08-18 02:52:03 字數 2501 閱讀 7716

1.

/**

* *

* 1.定義乙個father和child類,並進行測試。

要求如下:

1)father類為外部類,類中定義乙個私有的string型別的屬性name,name的值為「zhangjun」。 2)child類為father類的內部類,其中定義乙個introfather()方法,方法中呼叫father類的name屬性。

3)定義乙個測試類test,在test類的main()方法中,建立child物件,並呼叫introfather ()方法。

* */

class father }}

public class mainclass

}

2.

//2.簡述下列程式執行結果: 

class a

} }

class demo

} //編譯失敗,因為inner類是a類的非靜態成員,所以只有在外部類建立物件之後,

//才開始載入,但是內部類有靜態成員,又需要在建立外部類物件之前完成。這二者之間矛盾了。

3.

//3.寫出下面程式執行結果: 

class a

} class b extends a

public static void main(string args)

} //a b

4.

/**

列印出所有的 "水仙花數 ",所謂 "水仙花數 "是指乙個三位數,其各位數字立方和等於該數本身。例如:153是乙個 "水仙花數 ",

因為153=1的三次方+5的三次方+3的三次方。

*/public class mainclass

} public static void main(string args)

}

5.

/**

定義乙個抽象的"role"類,有姓名,年齡,性別等成員變數

1)要求盡可能隱藏所有變數(能夠私有就私有,能夠保護就不要公有),

再通過get***()和set***()方法對各變數進行讀寫。具有乙個抽象的play()方法,

該方法不返回任何值,同時至少定義兩個構造方法。role類中要體現出this的幾種用法。

*/abstract class role

public role(string name, int age, string ***)

public string getname()

public void setname(string name)

public int getage()

public void setage(int age)

public string get***()

public void set***(string ***)

public abstract void play();

}/**

* 從role類派生出乙個"employee"類,該類具有role類的所有成員(構造方法除外),

並擴充套件salary成員變數,同時增加乙個靜態成員變數「職工編號(id)」。

同樣要有至少兩個構造方法,要體現出this和super的幾種用法,還要求覆蓋play()方法,

並提供乙個final sing()方法。

* @author z7m-sl7d2

* */

class employee extends role

public employee(float salary)

public employee(string name, int age, string ***, float salary)

public float getsalary()

public void setsalary(float salary)

public final void sing()

@override

public void play()

}/**

* 3)"manager"類繼承"employee"類,有乙個final成員變數"vehicle"

在main()方法中製造manager和employee物件,並測試這些物件的方法。

*/class manager extends employee

public class mainclass

}

以上**執行結果

結果分析:

建立子類manager物件時會自動呼叫父類(employee)的無參構造,呼叫父類(employee)的無參構造時。會自動首先呼叫其父類(role)的無參構造。最後再呼叫本類無參構造。由於無參構造空實現,所以沒列印任何語句。

JAVA SE 物件導向

封裝 繼承 多型 符合我們思想習慣的思想 複雜事情簡單化 執行者變成指揮者 事物 類 封裝 屬性,功能 屬性 成員變數 屬性 功能 成員方法 功能 例項化類 建立物件 leiming duixiangming new leiming 獲取屬性 duixiangming.shuxingming 呼叫方...

JAVASE 物件導向(二)

物件導向的特徵 封裝性,繼承性,多型性 封裝性 當建立了類以後,通過 物件.屬性 的方式對相應的屬性賦值的話,可能會出現不滿足實際情況的意外,我們考慮不讓物件直接作用屬性,而通過 物件.方法 的形式,來控制物件屬性的訪問。1.將屬性私有化 2.提供公共的set,get方法 許可權從大到小 publi...

JAVASE 物件導向 四

多型 在同乙個時刻體現不同的狀態,多型主要體現在向不同的物件傳送同乙個資訊,不同的物件在接受到資訊後產生不同的行為 方法 物件可以用自己的方法去響應共同的資訊。多型性的表現 1.方法的過載與重寫 2.子類物件的多型性 使用的前提 1.要有繼承關係。2.要有方法的重寫 格式 person p new ...