習題練習題-第二題

今天敲程式碼了嘛發表於2020-11-27

同一物件被多個變數引用

任務描述 :編寫一個多個變數引用同一個例項物件的小程式

練習目標
1.掌握如何建立類的物件;
2.掌握如何使用兩個或者多個變數引用同一個例項物件。

需求分析

  1. 在程式中,一個物件可能在多處使用,這樣就可能需要有多個變數來引用這個物件。
  2. 為了更好地掌握物件的建立和使用,本實訓將建立三個學生物件,它們的引用變數分別是s1s2s3,首先分別使用s1s2引用為nameage賦值,然後呼叫speak()方法,最後將s2變數賦值給s3s3也呼叫**speak()**方法。

設計思路(實現原理)
1)編寫一個測試類
2)在main()方法中,建立Student類的第一個物件,其引用變數為s1,使用s1呼叫name和age變數分別為它們賦值,然後呼叫speak()方法。
3)建立Student類的第二個物件,其引用變數為s2,使用s2分別為name和age賦值,然後呼叫speak()方法。
4)建立Student類的第三個物件,其引用變數為s3,將s2的值賦給s3,然後使用s3呼叫speak()方法。

測試說明 平臺會對你編寫的程式碼進行測試:

測試輸入:李雷,20,韓梅梅,19;
預期輸出:
我的名字是李雷,今年20歲
我的名字是韓梅梅,今年19歲
我的名字是韓梅梅,今年19歲

程式碼:

package task02;

import java.util.Scanner;

/*
 * 說明:根據提示,補充完整 begin 和 end 之間的程式碼。
 *     (其他程式碼可以不用改)
 */

/**************** begin *****************/
// 在此定義學生類名
class Student
/**************** end *****************/
{
	/**************** begin *****************/
	// 在此定義2個成員變數:姓名name和年齡age
    String name;
    int age;
    public Student(){}
    public Student(String name,int age){
        this.name=name;
        this.age=age;
    }
	/**************** end *****************/
    
	void speak() {
		System.out.println("我的名字是" + name + ",今年" + age + "歲");
	}
}

public class Task02{
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);

		/**************** begin *****************/
		/*
		 * 建立Student類的第一個物件,其引用變數為s1,
		 * 使用s1分別為name和age賦值,值為執行時接收從鍵盤輸入
		 * 然後呼叫speak()方法。
		 */
        Student s1=new Student(scan.next(),scan.nextInt());
        s1.speak();
		/**************** end *****************/


		/**************** begin *****************/
		/*
		 * 建立Student類的第二個物件,其引用變數為s2,
		 * 使用s2分別為name和age賦值,值為執行時接收從鍵盤輸入,
		 * 然後呼叫speak()方法。
		 */
        Student s2=new Student(scan.next(),scan.nextInt());
        s2.speak();
		/**************** end *****************/


		/**************** begin *****************/
		/*
		 * 建立Student類的第三個物件,其引用變數為s3,
		 * 將s2的值賦給s3,
		 * 然後使用s3呼叫speak()方法。
		 */
         Student s3=new Student();
        s3=s2;
        s3.speak();
		/**************** end *****************/
	}
}

續上~!小白週末奮鬥啦!還是要早點睡覺呀,已經掉髮嚴重了,o(╥﹏╥)o,不行不行,先睡了