很多帖子对成员和静态概念表述各有出入,有些文章甚至将成员属性和静态属性在一个维度上相提并论,而实际上成员和静态是两个维度的概念。
结合着java源码,我这样理解。
java.lang.reflect 包下有一个 Member接口,如图所示:
1. java里的Field和Method都实现了Member接口,成员属性和成员方法的表述是没有问题的。
2. static关键字修饰的属性和方法,用静态成员属性和静态成员方法来表述,或者类成员属性和类成员方法表述都可以。
3. 没有static修饰的成员(属性和方法),应表述为实例成员。
4. 一些标题为《静态属性和成员属性的区别》的帖子可能想表达的是《静态成员和实例成员的区别》。