尚學堂java 答案解析 第四章
阿新 • • 發佈:2019-02-14
本答案為本人個人編輯,僅供參考,如果讀者發現,請私信本人或在下方評論,提醒本人修改
一.選擇題
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");
}
}