💡
原文英文,约400词,阅读约需2分钟。
📝
内容提要
静态成员属于类,所有对象共享,直接访问;非静态成员属于实例,每个对象有独立副本。静态适合共享数据,非静态适合每个对象有不同值和行为。
🎯
关键要点
- 静态成员使用static关键字定义,属于类而非类的实例。
- 静态成员在类的所有对象之间共享,可以直接访问,无需创建实例。
- 非静态成员不使用static关键字,每个对象有自己的副本,需要通过对象访问。
- 静态适合共享数据,例如工具方法和常量。
- 非静态适合每个对象有不同值和行为,适用于需要封装、多态和继承的场景。
- 当对象存在时才使用内存,避免在不需要创建对象时使用静态方法。
- 避免在每个对象应维护自己数据的情况下使用静态。
❓
延伸问答
静态成员和非静态成员有什么区别?
静态成员属于类,所有对象共享;非静态成员属于实例,每个对象有独立副本。
如何定义静态成员?
静态成员使用static关键字定义,属于类而非类的实例。
什么时候应该使用静态成员?
当数据需要在所有实例之间共享时,例如工具方法和常量。
非静态成员的特点是什么?
非静态成员不使用static关键字,每个对象有自己的副本,需要通过对象访问。
使用非静态成员的合适场景有哪些?
适用于每个对象需要不同值和行为的场景,以及需要封装、多态和继承的情况。
静态方法和非静态方法的访问方式有什么不同?
静态方法可以直接访问,无需创建实例;非静态方法需要通过对象来访问。
➡️