- 實戰Java程序設計
- 北京尚學堂科技有限公司
- 1602字
- 2019-10-16 10:45:32
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”。
- Java入門經典(第6版)
- The Modern C++ Challenge
- 青少年軟件編程基礎與實戰(圖形化編程三級)
- JavaFX Essentials
- Eclipse Plug-in Development:Beginner's Guide(Second Edition)
- Securing WebLogic Server 12c
- Visual C++數字圖像處理技術詳解
- Advanced Oracle PL/SQL Developer's Guide(Second Edition)
- Spring Boot進階:原理、實戰與面試題分析
- Java實戰(第2版)
- NGINX Cookbook
- D3.js By Example
- Serverless Web Applications with React and Firebase
- Cocos2d-x by Example:Beginner's Guide(Second Edition)
- C語言從入門到精通