构造方法
构造方法的概述和作用
给对象的数据(属性)进行初始化。
构造方法格式特点
- 方法名与类型相同。
- 没有返回值,连void都没有。
- 没有具体的返回值return。
class Person { |
构造方法的重载
方法名相同,与返回值类型无关(构造方法没有返回值),只看参数列表。
注意:
- 如果没有给出构造方法,系统将自动提供一个无参构造方法。
- 如果给出了构造方法,系统将不再提供默认的无参构造方法。
- 建议永远自己给出无参的构造方法。
class Person { |
静态static
static关键字的特点
- 随着类的加载而加载。
- 优先于对象存在。
- 被类的所有对象共享。(共性用静态,特性用非静态)
- 可以通过类名调用。(本身也可以通过对象名调用,但是推荐使用类名调用)
static的注意事项
- 在静态方法中是没有this关键字的。
- 静态方法只能访问静态的成员变量和静态的成员方法。
class Demo { |
静态变量和成员变量的区别
静态变量也叫类变量,成员变量也叫对象变量。
- 所属不同。静态变量属于类,所以也称为类变量;成员变量属于对象,所以也成为实例变量(对象变量)。
- 内存中位置不同。静态变量存储于方法区的静态区;成员变量存储于堆内存。
- 内存出现时间不同。静态变量随着类的加载而加载,随着类的消失而消失;成员变量随着对象的创建而存在,随着对象的消失而消失。
- 调用不同。静态变量可以通过类名调用,也可以通过对象调用;成员变量只能通过对象名调用。
注意:如果一个类中所有的方法都是静态的,需要多做一步,私有构造方法,目的是不让其他类创建本类的对象。
Math类随机数
Math.random()会生成大于等于0.0并且小于1.0的伪随机数。
class Demo2_Math { |