1. 程式人生 > >尚學堂java 答案解析 第四章

尚學堂java 答案解析 第四章

本答案為本人個人編輯,僅供參考,如果讀者發現,請私信本人或在下方評論,提醒本人修改

一.選擇題

1.BD

解析:B:類必須有構造方法,若程式未寫,這系統自動呼叫系統構造方法.

        D:super()會呼叫父類的構造方法,但父類的構造方法不一定無參

2.D

解析:3+4=7

3.AC

解析:A:靜態方法在類被載入進記憶體時就分配入口地址,此時不一定有非靜態方法

        D:this表示構造方法建立的物件,在該類被呼叫時候才產生,而靜態方法在載入記憶體時候就存在,此時不存在物件,不能用this呼叫.

4.AC

解析:A 理由同上 C:只要許可權夠,可以呼叫其他類的方法

5.C

解析:count是全域性變數,count1()方法覆蓋後為10;如果count1中的count1前加int,使count1()中的count成為區域性變數,則為B

二.簡答題

1.面向過程是將任務分步,一步一步實現.面向物件是將任務分塊拆分,每塊再用面向過程實現.

2.類是物件的抽象集合,物件是類的具體個體.

3.作用:初始化物件

特徵:必須與類名相同,且沒有型別

4.作用:代表正在呼叫該方法的物件

用法:this.成員變數

5.作用:為了共享變數或方法

三.編碼題

1.

public class People {
    private String name;
    private int age;
    People(String name,int age){
        this.name = name;
        this.age = age;
    }
    void display(){
        System.out.println("姓名:"+name);
        System.out.println("年齡:"+age);
    }
}
class  ch4_1{
    public static void main(String[] args) {
        People tom = new People("tom",18);
        tom.display();
    }
}

2.

public class Circle {
    final  float PI = 3.14f;
    float r = 0.0f;

    void  getArea(float r){
        this.r = r;
        System.out.println("面積:"+PI*this.r*this.r);
    }
    void getPerimeter(float f){
        this.r = r;
        System.out.println("周長:"+PI*this.r*2);
    }
}
class  Test{
    public static void main(String[] args) {
        Circle r = new Circle();
        r.getArea(3);
        r.getPerimeter(3);
    }
}

3.

public class User {
    String id = "";
    String pwd = "";
    String email = "";
    User(String id ,String pwd ,String email){
        this.id = id;
        this.pwd = pwd;
        this.email = email;
    }
    User(String id){
        this.email = id + "@gameSchool.com";
        System.out.println("email:"+this.email);
     }

}
class  Ch4_3{
    public static void main(String[] args) {
        User user = new User("tom");
    }
}