您的位置:首页 > 编程语言 > Java开发

java 中关键字 static的使用及注意事项

2012-11-27 17:53 471 查看
最近复习了一下java,看了一下static静态关键字,现将复习做的笔记总结与大家分享。

*static关键字:

  $static是一个修饰符,用于修饰成员(成员变量和成员函数)。

*被static修饰后的成员具有的特点:

  A:随着类的加载而加载。

  B:优先于对象存在(即在创建对象之前,就已经随着类的加载而存在)。

  C:可被所以对象共享。

  D:可以直接被类名调用(就是说没有创建对象,也可以调用)。

*被static修饰的成员变量叫静态变量,静态变量与成员变量的区别:

  1,两个变量的生命周期不同。

      A:成员变量随着对象的创建而存在随着对象的回收而释放。

      B:静态变量随着类的加载而加载,随着类的消失而消失。

  2,调用方式不同。

      A:成员变量只能被对象调用。

      B:静态变量可以被对象调用也可以被类名调用。

  3,开发是的叫法不一样:

      A:成员变量也叫做实例变量。

      B:静态变量成为类变量。

  4,数据存储位置不同。

      A:成员变量数据存储在堆内存的对象中,所以也叫做对象的特有数据。

      B:静态变量数据存储在方法区(有的翻译为共享区,有的翻译为共享数据区)的静态区,所以也叫对象的共享数据。

  *关于静态修饰符static的几点特别注意点。

      A:静态方法只能访问静态成员。//非静态方法既可以访问静态成员,也可以访问非静态成员。(静态成员包括:静态变量与静态方法)

      B:静态方法中不能使用关键字this或者super。(也就是静态方法中不能出现非静态的成员变量)

      C:主函数的 修饰 必须为 static。

      D:静态方法中要,要调用非静态方法是可以可以使用对象来调用。(即调用前先创建个对象,再使用 (对象.方法)来调用)

  *什么时候使用static关键字

    1. 对于静态变量

      当该变量在所有成员对象中都相同时,该成员变量可以static修饰为静态变量。(可以理解为,变量为一类的共性时,不必修改时,可以定位为静态变量,来节约内存)

    2.对于静态方法(函数)

      如果该方法调用了非静态变量或者说非静态成员是,就应该定义为非静态方法。否则定义为静态方法。

      

  *最后一点,static静态代码块。

      该代码块随着类的加载而执行,并且只执行一次。

      有的class不用创建对象,那么这一类class不用构造函数来初始化,可以直接使用静态代码块来达到该class的目的(即为完成程序员想要完成的动作)。

-----------《完》。希望能对初学者起到帮助。减少理解上的困惑。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: