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 的变量称为静态变量或类变量。可以直接通过类名引用静态变量,也可以通过实例名引用静态变量,但最好用前者,不然容易混淆静态变量和实例变量。类的静态变量,类的所有实例共同拥有。静态方法不属于任何一个实例。
- 静态方法不能调用实例变量:因为静态方法无法从静态的上下文中引用非静态变量。