官术网_书友最值得收藏!

4.14.4 靜態導入

靜態導入(static import)是JDK1.5新增加的功能,其作用是導入指定類的靜態屬性,以便直接使用這些靜態屬性。

【示例4-16】靜態導入的使用

package cn.sxt;
        //以下兩種靜態導入的方式二選一即可
import static java.lang.Math.*;      //導入Math類的所有靜態屬性
import static java.lang.Math.PI;     //導入Math類的PI屬性
public class Test2{
        public static void main(String [ ] args){
          System.out.println(PI);
          System.out.println(random());
        }
      }

執行結果如圖4-15所示。

圖4-15 示例4-16運行結果

本章總結

(1)面向對象的方法可以幫助人們從宏觀上把握、從整體上分析整個系統,但是具體到微觀操作(就是一個個方法)部分的實現,仍需要用面向過程的思路去處理。

(2)類可以看成是一類對象的模板,對象可以看成是該類的一個具體實例。

(3)對于一個類來說,一般有三種常見的成員:屬性(field)、方法(method)和構造器(constructor)。

(4)構造器也叫構造方法,用于對象的初始化。構造器是一個創建對象時被自動調用的特殊方法,用于對象的初始化。構造器的名稱應與類的名稱一致。

(5)Java引入了垃圾回收機制,令C++程序員最頭疼的內存管理問題迎刃而解。Java程序員可將更多的精力放到業務邏輯而不是內存管理上,該機制大大提高了開發效率。

(6)this的本質就是“創建好的對象的地址”。this不能用于static方法中。

(7)在類中,用static聲明的成員變量為靜態成員變量,也稱為類變量。類變量的生命周期和類相同,在整個應用程序執行期間都有效。在static方法中不可直接訪問非static的成員。

(8)Java方法中所有參數都是“值傳遞”,也就是“傳遞的是值的副本”,亦即得到的是“原參數的復印件,而不是原件”。因此,復印件改變不會影響原件。

(9)通過package實現對類的管理。如果要使用其他包的類,需要使用import導入,從而可以在本類中通過類名來直接調用需要的類。

本章作業

一、選擇題

1.以下語句中關于Java構造器的說法錯誤的是( )(選擇一項)。

A.構造器的作用是為創建對象進行初始化工作,例如給成員變量賦值

B.一個Java類可以沒有構造器,也可以提供1個或多個構造器

C.構造器與類同名,不能書寫返回值類型

D.構造器的第一條語句如果是super( ),則可以省略,該語句作用是調用父類無參數的構造器

2.在Java中,以下程序編譯運行后的輸出結果為( )(選擇一項)。

public class Test {
int x, y;
        Test(int x, int y) {
this.x=x;
this.y=y;
        }
        public static void main(String[ ] args) {
          Test pt1, pt2;
          pt1=new Test(3, 3);
          pt2=new Test(4, 4);
          System.out.print(pt1.x + pt2.x);
        }
      }

A.6

B.34

C.8

D.7

3.在Java中,以下關于靜態方法的說法正確的是( )(選擇二項)。

A.靜態方法中不能直接調用非靜態方法

B.非靜態方法中不能直接調用靜態方法

C.靜態方法可以用類名直接調用

D.靜態方法里可以使用this

4.下列選項中關于Java中類方法的說法,錯誤的是( )(選擇二項)。

A.在類方法中可用this來調用本類的類方法

B.在類方法中調用本類的類方法時可直接調用

C.在類方法中只能調用本類中的類方法

D.在類方法中調用實例方法需要先創建對象

5.分析如下的Java程序代碼,編譯運行后的輸出結果是( )(選擇一項)。

public class Test {
int count=9;
      public void count1(){
        count=10;
        System.out.print("count1="+count);
      }
      public void count2(){
        System.out.print("count2="+count);
      }
      public static void main(String[ ] args) {
        Test t=new Test();
        t.count1();
        t.count2();
      }
    }

A.count1=9; count2=9;

B.count1=10; count2=9;

C.count1=10; count2=10;

D.count1=9; count2=10;

二、簡答題

1.面向過程思想和面向對象思想的區別。

2.類和對象的關系。

3.構造器的作用和特征。

4. this關鍵字的作用和用法。

5.簡述static關鍵字的作用。從static可以修飾變量、方法、代碼塊三方面來回答。

三、編碼題

1.編寫Java程序,用于顯示人的姓名和年齡。定義一個“人”類——Person,該類中應該有兩個私有屬性:姓名(name)和年齡(age);定義構造器用來初始化數據成員,再定義顯示(display( ))方法將姓名和年齡打印出來;在main方法中創建“人”類的實例,然后將信息顯示出來。

2.定義一個圓類——Circle,在類的內部提供一個屬性:半徑(r);同時提供兩個方法:計算面積(getArea( ))和計算周長(getPerimeter( ))。通過兩個方法計算圓的周長和面積并且對計算結果進行輸出。最后定義一個測試類對Circle類進行使用。

3.構造器與重載:定義一個網絡用戶類,信息有用戶ID、用戶密碼、 E-mail地址。在建立類的實例時把以上三個信息都作為構造器的參數輸入,其中用戶ID和用戶密碼必須缺省時,E-mail地址是用戶ID加上字符串“@gameschool.com”。

主站蜘蛛池模板: 中西区| 五常市| 临海市| 深泽县| 宾川县| 南宫市| 岳西县| 博爱县| 金平| 泊头市| 静海县| 康保县| 喀什市| 水富县| 桃江县| 海口市| 自治县| 鹤壁市| 丽水市| 依兰县| 芦山县| 綦江县| 阜阳市| 石河子市| 临沭县| 额尔古纳市| 红桥区| 恩平市| 建德市| 石泉县| 泰兴市| 类乌齐县| 伊春市| 巴南区| 华阴市| 武安市| 远安县| 大冶市| 肃南| 收藏| 阳新县|