1. 程式人生 > >0712 第九次作業

0712 第九次作業

col oid println xxx 一個 new main方法 ring nbsp

一、填空題
1. 方法
2. 堆內存
3. 構造方法
4. this
5. this
6. static
7. 對象名.靜態變量名
8. package import class
9. package
10. java.lang

二、選擇題
1. D
2. C
3. B
4. AC
5. AC

三、判斷題
1. T
2. F
3. T
4. F
5. T
6. F
7. T

四、簡答題&畫圖
1. 構造方法
作用:
  給對象的數據(屬性)進行初始化
格式特點:
  方法名與類名相同,區分大小寫;
  沒有返回值類型,連void也沒有;
  沒有具體的返回值return;
註意事項:
  如果沒有給出構造方法,系統將自動提供一個默認的無參構造;
  如果給出了構造方法,系統將不再提供默認的無參構造;
  在這種情況下,若仍想使用無參構造,則必須手動添加。
構造方法可以寫return語句,如果不寫系統會默認加上。

2.
(1)建立setXxx()方法,使用setXXX方法賦值;
(2)使用構造方法賦值

3.
技術分享圖片

4.
static後面所跟的變量或方法是其所在類特有的,而不屬於這個類的對象
特點:
  a.隨著類的加載而加載;
  b.優先於對象存在;
  c.被類的所有對象共享;
  d.可以通過類名進行調用;
如果類中的某個變量或方法是被該類的所有對象共享的,那麽它就應該被定義為靜態的。

5.
public:main方法直接被jvm調用,所以權限要足夠大,使得所有類的方法都可以訪問
static:main方法被jvm調用,不需要創建對象,用類名. 就可以調用
void:main方法被jvm調用,不需要任何的返回值,因此用void
main:主方法只有命名為main才可以被jvm識別
String[] args:以前是用於接收鍵盤錄入的,是java的規範,args可以用其他名字,但一般用args

五、編碼題
1.

 1 class Demo_Vehicle {
 2     public static void main(String[] args) {
 3         Vehicle car1 = new Vehicle();
 4         car1.move();
 5         
 6         car1.setSpeed(50);
 7         car1.move();
 8 
 9         car1.speedUp(40);
10         car1.move();
11 
12         car1.speedDown(25);
13 car1.move(); 14 } 15 } 16 17 class Vehicle { 18 private int speed; 19 double size; 20 String color; 21 22 public Vehicle(){ 23 speed = 30; 24 size = 5; 25 color = "紅"; 26 } 27 28 public void setSpeed(int speed){ 29 this.speed = speed; 30 } 31 public int getSpeed(){ 32 return speed; 33 } 34 35 public int speedUp(int s){ 36 speed += s; 37 return speed; 38 } 39 public int speedDown(int s){ 40 speed -= s; 41 return speed; 42 } 43 44 public void move(){ 45 System.out.println("本車車長" + size + "米,顏色為" + color + "色,目前車速:" + speed + "公裏/小時"); 46 } 47 }

2.

 1 class Demo_Person {
 2     public static void main(String[] args) {
 3         Person p1 = new Person("關羽" ,36);
 4         Person p2 = new Person("張飛" ,32);
 5 
 6         p1.display();
 7         p2.display();
 8     }
 9 }
10 
11 class Person {
12     private String name;
13     private int age;
14 
15     public Person(){}
16     public Person(String name, int age){
17         this.name = name;
18         this.age = age;
19     }
20 
21     public void display(){
22         System.out.println("姓名:" + name + " 年齡:" + age);
23     }
24 }

3.

import java.util.Scanner;
class Demo_Circle {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("輸入圓半徑:");
        double r = sc.nextDouble();

        Circle c1 = new Circle(r);
        System.out.println("Area=" + c1.getArea(r));
        System.out.println("Perimeter=" + c1.getPerimeter(r));
        c1.print();
    }
}

class Circle {
    double r;
    double area; 
    double perimeter;

    public Circle(double r){
        this.r = r;
    }

    public double getArea(double r){
        area = r * r * 3.14;
        return area;
    }
    public double getPerimeter(double r){
        perimeter = 6.28 * r;
        return perimeter;
    }

    public void print(){
        System.out.println("該圓面積為:" + area + " 周長為:" + perimeter);
    }
}

4.

class Demo_User {
    public static void main(String[] args) {
        User u1 = new User("Chang4" ,"iamchang4" ,"[email protected]");
        u1.print();
        User u2 = new User("Zhangsan" ,"zhangsandemima");
        u2.print();
    }
}

class User {
    private String id;
    private String password;
    private String email;

    public User(){}
    public User(String id ,String password ,String email){
        this.id = id;
        this.password = password;
        this.email = email;
    }
    public User(String id ,String password){
        this(id ,password ,id + "@gameschool.com");
    }

    public void print(){
        System.out.println("用戶名:" + id);
        System.out.println("密碼:" + password);
        System.out.println("email:" + email);
    }
}

六、可選題

0712 第九次作業