static修饰方法(类方法):
1、随着类的加载而加载,在内存中也是独一份的。
2、可以直接通过”类.类方法“的方式调用。
3、内部可以调用静态的属性或者静态的方法,而不能调用非静态的属性或方法(因为生命周期不同的缘故);相反,非静态的方法是可以调用静态的属性和方法的。
>静态的方法内时不可以有this或者super关键字的!
注:静态的结构(static的属性、方法、代码块、内部类)的生命周期要早于非静态的结构,同时被回收也晚于非静态的结构。即生命周期较长。
对于构造方法来讲,静态变量(类变量)也可以放在构造函数中,因为构造函数的生命周期与非静态的普通函数相等同。
static的一个应用:使用静态变量可以实现”累加“的效果。因为静态变量在内存中独一份!
因为total是static的,在内存中独一份,所以可以用来记录创建的对象的个数。可以 写在构造方法中。
哪些方法不适合用static?一些方法里面出现了一些变量或者方法,而这些变量或方法依赖于某些实例变量。(这些变量里面会默认的带有this,但是static方法里面是不允许有this或super的)