static关键字总结

来源:互联网 发布:淘宝联盟首页登录 编辑:程序博客网 时间:2024/04/29 19:19

static关键字:

1.是一个修饰符,用于修饰成员变量和成员函数;

2.不在堆空间中,不是每个对象单独有的,是所有对象公用一份,节省内存空间。

3.当成员被静态修饰后,多了一种调用方式,除了被对象调用外,还可以直接用类名调用,格式:类名.静态变量名。

4.特点:

  1.随着类的加载而加载;只要有类,就有这个静态存储变量;也就是说随着类的消失而消失

  2.优先于对象存在;

  3.被所有对象共享;

  4.可以直接被类名称调用。

5.实例变量和类变量(静态变量)的区别:

         1.存放位置:

                   类变量:随着类的加载而加载;存在于方法区中!

                   成员变量:随着对象的建立,存在于堆内存中!

         2.生命周期:

                   类变量:生命周期最长;随着类的消失而消失;

                   成员变量:随着对象的消失而消失

6.静态的使用注意事项:

         1.静态方法只能访问静态成员;

         2.非静态方法可以访问静态成员和非静态成员。

         3.静态方法不可以定义this,super关键字;因为this和super是随着对象的建立而建立的,而静态方法优先于对象,随着类的加载而加载的;

7.静态有利有弊:

         利:对对象的共享数据进行单独空间的存储,节省空间,没有必要每个对象都存储一份;可以直接被类调用;

         弊:生命周期过长,访问出现局限性(只能访问静态)

8.什么时候使用静态数据:

         1.出现共享数据时,该数据被静态修饰。

         2.对象中的特有数据要定义成非静态的堆内存中。

9.什么时候使用静态方法:

         当功能内部没有访问都非静态数据(对象的特有数据)

10.   静态的应用:

         每个应用程序中都有共性的功能,可以将这些功能封装,以便服用。

0 0
原创粉丝点击