Java的类成员变量、实例变量、类变量,成员方法、实例方法、类方法

时间:2022-04-19 09:28:44

总是被这些相似的概念搞晕,查阅了资料后做个小总结,以变量为例,方法辨析类似。

1.多胞胎名字汇总辨析

成员变量和成员方法是范围最大的定义,提到成员变量就可以理解成你所定义在一个类体中的各类变量的统称,成员方法亦如是。java类的成员变量包括实例变量和类变量,成员方法包括实例方法和类方法。

那么,什么是实例变量和类变量呢?

从名字分析:

实例变量,是新建了实例后才能用的变量。

类变量,是不用新建实例,直接通过类来调用的变量。特点是用static修饰。所以它们还有个响当当的名字,叫静态变量,静态方法。

至此,这些多胞胎名字就搞清楚了:成员变量最大,包括实例变量和类变量,类变量=静态变量。

2.实例变量与类变量不同:

实例变量是类实例化后,系统为其创建的一个类的实例变量的拷贝,即一个实例拥有一个实例变量。

类变量则是用static声明,系统为每个类变量分配一次存储空间。即所有的实例共享一个类变量。

3.使用方法(概括:自个儿管自个儿)

(1)实例方法可以直接访问实例变量,调用实例方法;

(2) 实例方法可以直接访问类变量,调用类方法。但不推荐这么做,原因是不清晰,容易把类变量误认为是实例变量,把类方法误认为是实例方法(借助IDE,它会给出警告信息。);

(3)类方法可以直接调用类变量和类方法;

(4)类方法不能直接调用实例变量和实例方法;

(5)类方法里面不能使用“this”关键字,因为没有实例存在,“this”不知道引用哪个实例。
---------------------
作者:SprinLa
来源:CSDN
原文:https://blog.csdn.net/youyaecho/article/details/51188392
版权声明:本文为博主原创文章,转载请附上博文链接!