标签:
静态成员:被static修饰的成员,叫做静态成员。静态成员是属于类的。通过类名直接访问。
实例成员:没有被static修饰的成员叫做实例成员。实例成员是属于对象的。通过对象名去访问实例成员。
关于实例成员
a、在创建对象的时候,实例成员跟随着对象一起创建在堆中。
b、跟着对象一起创建在堆空间中。
c、有多少个对象,实例成员就有多少份。
d、对象被回收,这个对象中的实例成员就跟随着一起回收。
关于静态成员
a、 当类第一次被访问的时候,就会将这个类下面的所有的静态成员创建在内存当中。
b、既不在栈也不在 堆中。创建在静态存储区。
c、静态成员只创建一次,在类第一次被访问的时候创建。
d、静态成员一旦被创建在静态存储区,那么就不会被回收,直到程序结束。
一、静态成员的特点:
a、只有一份。变量唯一,无论在什么地方访问都是可以访问的
b、一旦创建在静态存储区,就不会被回收,直到程序结束。
二、在静态方法中不能直接访问实例成员。因为当静态方法执行的时候,实例成员完全有可能还没有存在。
如果一定要访问,那么我们就创建一个对象,让实例成员存在,然后访问这个对象的实例成员。
this关键字不能在静态方法中使用:因为静态方法不存在对象中,那么自然也就代表不了对象。
静态成员总是优先于对象而存在的。
实例方法中可以直接访问静态成员,因为当实例方法存在的时候,静态成员一定,肯定,必定存在了。
三、静态类
a、类如果被static修饰,那么这个类就叫做静态类。
b、静态类中的所有成员要求都是静态成员
c、静态类不能创建对象。因为没有实例成员,就算可以创建对象,也没有任何的实际意义。
d、静态类不能有构造函数
四、静态构造函数(也是用来实例化静态成员)
a、任何类都可以有静态构造函数。
b、语法:
static 类名()
{
}
静态构造函数不能有访问修饰符,不能带参数。
c、静态构造函数不能被手动调用。
类的成员第一次被访问的时候,自动执行。
静态构造函数只执行一次,在类的成员第一次被访问的时候自动执行。
静态成员
标签:
原文地址:http://www.cnblogs.com/huanhuan0624/p/4716682.html