静态与非静态的区别
成员前有被static标记,是静态成员,否则就是非静态成员。
static ——静态,没有,非静态
1·在非静态类中,既可以有实例成员(非静态成员),也可以有静态成员
而静态类中,只允许有静态成员,不允许有非静态成员
2·在调用实例成员的时候,需要使用 对象名.实例成员,
在调用静态成员的时候,需要使用 类名.静态成员。
3·静态函数中,只能访问静态成员,不允许访问实例成员;而非静态函数则两个都可以
4·静态类,不允许创建对象(不允许实例化);
总结:静态成员,必须使用 类名 调用,非静态(实例)成员,可以使用 对象名 调用。
使用原则:
1·如果你要你的类作为一个“工具类”,就写静态类;比如 console 就是一个工具类,
经常被调用的,就是工具类。
因为静态类可以直接用,而非静态类则需要新创建一个对象。
2·静态类在项目中资源共享
3·在程序全部结束后,静态类会释放资源(静态类本身不占内存)