1 2 3 4 5 6 7
| static: • 需要⼀个数据对象只服务于类,即类内部可⽤,对外不可⽤时。建对象是极其耗费资源的,因此当⼀个⽅法具有⽐较强的公⽤性的时候,没有必要为了调⽤这个⽅法⽽重新再⽣成该类的实例。定义的⽅法或变量在程序第⼀次加载时即驻留内存,程序结束释放。 • 静态⽅法不能被⾮静态⽅法重写,构造⽅法不允许声明为static的 static变量: • 通过static声明的成员变量为静态变量或叫类变量,是该类的公共变量,在第⼀次使⽤时即⽣成,对于该类的所有对象只有⼀份,是属于类的,不是属于对象的。static变量是属于类⽽不属于对象,可以在任何地⽅通过类来访问,是类的全局变量,类创建时即存⼊内存。对多个对象来说,静态数据成员只存储⼀处,可以节省内存。只要对静态数据成员的值更新⼀次,保证所有对象存取更新后的相同的值。 static⽅法: • ⽤static声明的⽅法为静态⽅法或叫类⽅法,执⾏该⽅法时不会将对象引⽤传给函数,所以我们不能访问⾮静态成员,只能访问静态⽅法或静态变量。只能使⽤关于类的⽅式如self static parent等。使⽤时不⽤⽣成对象即可执⾏
|