1.包
(1)包是類的容器,用於分隔類名空間。如果沒有指定包名,所有的類都屬於一個默認的無名包。包的命名通常全部用小字母。
Java 包機制的主要作用:
- 提供類似於樹形文件夾的組織形式,能分門別類地存儲、管理類,利於查找並使用類。
- 解決了同名類的命名衝突。同名的類不能放在同一個包中,同名的類放在不同的包中,不會起衝突。
- 包允許在更廣的範圍內保護類、屬性和方法。包的命名通常全部用小字母。
(2)JDK類庫中不同包的主要功能:
- java.lang:用java語言編程的基礎類。java.lang包中的所有公共類,系統都默認導入到程序中,不需要程序員顯式地導入。
- java.util:java工具類,包含了對集合、數組的操作、事件模型、日期和時間設置、國際化和各種實用工具。
- java.io:通過數據流、序列化和文件系統提供系統輸入輸出。
- java.net:爲實現網絡應用程序而提供的類。
- java.awt:包含用於創建用戶界面和繪製圖形圖像的類。
(3)java包中的兩個隨機函數
這兩個隨機函數分別是:java.lang.Math.random();和 java.util.Random();
- java.lang.Math.random();的方法類型是 public static double random();是一個無參的方法,返回值是double類型的公開靜態方法。 返回值大於等於0.0,小於1.0。若要返回別的類型,需要強制轉換。例如:int類型:(int)Math.random(); float類型:(float)Math.random(); 現在隨機返回0.0到10.0(不包括10.0)之間 的數 :double number = Math.random()*10; float number =(float) Math.random()*10; int number = (int)Math.random()*10; 另外int類型不需要強制類型轉換也可以,用Math.round(Math.random()); Math.round(浮點型參數);是四捨五入,返回值是int類型 ; Math.ceil(浮點型參數);向上取整,返回值double類型 ; Math.floor(浮點參數);向下取整,返回值double類型。
- java.util.Random中的Random();函數 可以構造無參函數,也可以構造有參函數。Random不能像Math.random();那樣直接用類名調用,Random();需要通過創建實例對象去調用。創建對象時都是用 Random(),不需要參數: Random r = new Random(); 無參的爲 int number = r.nextInt();返回的是隨機的int類型的數值。 有參的爲 int number = r.nextInt(int類型參數)返回的是0到參數之間的int類型的數值(包含0不包含參數)。其餘還有很多中類型,例如:.nextFloat()、 .nextDouble()、.nextBoolean() ;注意:有參數的和next後的類型相同。
2.訪問權限
java語言中的訪問權限修飾爲:public 、protected 、private、default;因爲不寫訪問權限修飾符時,在java中被默認爲默認權限又稱爲包權限(包權限,在同一個包中可以訪問)。跟c語言不同,c的話,不寫就默認爲public。類能使用的訪問權限修飾符只有public和default。類成員可以4個都可以用。
3.static關鍵字
- 聲明爲static 的變量稱爲靜態變量或類變量。可以直接通過類名引用靜態變量,也可以通過實例名引用靜態變量,但最好用前者,不然容易混淆靜態變量和實例變量。類的靜態變量,類的所有實例共同擁有。靜態方法不屬於任何一個實例。
- 靜態方法不能調用實例變量:因爲靜態方法無法從靜態的上下文中引用非靜態變量。