JAVA建構函式(二)----一個簡單的面向物件程式
阿新 • • 發佈:2018-12-13
本文對構造方法(函式)給出例子,進一步瞭解Java面向物件特性
要求:
-
完成一個java application 應用程式,描述一個人類。要求如下:
-
要求此人類必須包含有人的姓名、性別、出生日期等基本屬性(變數)。
-
要求此人類描述吃飯的方法(函式)和描述睡覺的方法(函式)。例如睡覺方法的執行體為一個 System.out.println() 函式,此函式輸出一段例如“ xx(姓名)往床上躺倒,不久就睡著了……”之類的描述睡覺的文字。
-
要求此人類的建構函式要具有無引數的建構函式,以及帶有姓名、性別、出生日期等引數的建構函式,並在建構函式中輸出一段描述xx(姓名)出生的文字。
-
例項化出張三和李四兩個人類物件(變數),併為之賦初值。
-
呼叫張三、李四等人類物件的各種屬性(類成員變數)和方法(函式)。
-
在上述人類的基礎上派生一個繼承自人類的新的學生類,加入學號等學生特有的屬性,加入上課、考試等方法,並例項化一個或幾個學生類物件,完成這些學生類物件的各種屬性和方法的呼叫。
主要方法:
- 構造無參方法(函式)和有參方法(函式)。
- 通過繼承獲取超類的變數和方法,並新增自己獨有的元素。(在java語言中,被繼承的類稱為超類,繼承類被稱為子類。)
- 使用super訪問超類建構函式。
程式如下:
class Person {
public String name; //宣告姓名變數
public String sex; //宣告性別變數
public String birth;//宣告生日變數
//描述吃飯的方法
void eat() {
System.out.println("合理搭配,注意養生。");
}
//描述睡覺的方法
void sleep() {
System.out.println("十一點半之前要睡覺,少熬夜。");
}
// 構造一個Person函式
Person(String n, String s, String b) {
name = n;
sex = s;
birth = b;
}
//描述基本資訊的方法
void disc() {
System.out. println("姓名:"+ name + " 性別:" + sex +
" 出生年月:" + birth);
}
}
//建立一個子類(用extends)
class Student extends Person {
Student(String n, String s , String b) {
super(n,s,b ); // 使用super()呼叫Person的建構函式
}
String num ;// 宣告學號變數
//輸出學號
void showNum() {
num = "2018666";
System.out.println("學號:"+num);
}
//描述上課的方法
void learn() {
System.out.println("上課要認真對待。");
}
//描述考試的方法
void exam() {
System.out.println("誠信考試,決不作弊。");
}
}
class PersonDemo {
public static void main(String[] args) {
//建立物件
Person one = new Person("張三", "男", "1995年8月1日");
Person two = new Person("李四", "女", "1996年7月1日");
Student ming = new Student("明卓","男","1995年6月1日"); //子類物件
//呼叫屬性和方法
one.disc();
one.eat();
one.sleep();
System.out.println();
two.disc();
two.eat();
two.sleep();
System.out.println();
ming.disc();
ming.showNum();
ming.eat();
ming.sleep();
ming.learn();
ming.exam();
}
}
執行結果: