面向对象(static)

来源:互联网 发布:淘宝新开店铺提取 编辑:程序博客网 时间:2024/04/27 14:41

1、static(静态)关键字

用法:

  1. 是一个修饰符,用于修饰成员(成员变量、成员方法)。

  2. 当成员被静态修饰后,就多了一种调用方式,除了可以被对象调用外,还可以直接被类名调用——类名.静态成员

    特有内容随对象存储。

2、static特点

  1. 随着类的加载而加载——随着类的消失而消失。

  2. 优先于对象的存在——静态先存在,对象后存在。

  3. 被所有对象共享。

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

实例变量与类变量区别:

  • 存放位置:

    • 类变量随着类的加载存在于方法区中。
    • 实例变量随着对象的建立存在于堆内存中。
  • 生命周期:

    • 类变量生命周期最长,随着类的消失而消失。
    • 实例变量随着对象的消失而消失。

3、static的使用事项

  1. 静态方法只能访问静态成员(方法与变量)
    非静态方法既可以访问静态,也可以访问非静态。

  2. 静态方法中不可以定义this、super等关键字。
    因为静态优先于对象存在,所以静态方法中不可以出现this。

  3. 主函数是静态的。

public static void main (String[] args)/*主函数:是一个特殊的函数,作为程序的入口,可被jvm调用主函数的定义:public:代表该函数访问权限是最大的ststic:代表主函数随着类的加载就存在了void:主函数没有具体的返回值main:不是关键字,是特殊单词,可被jvm识别(String[] args)函数的参数,参数类型是一个数组,字符串类型数组*/

4、static的利与弊

  • 利:对对象的共享数据进行单独空间的存储,节省空间,可以直接被类名调用。

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

5、什么时候使用静态

从两方面下手:因为静态修饰的内容有成员变量和函数
  • 定义静态变量时(类变量)时:当对象中出现共享数据时,该数据被静态修饰,对象中的特有数据要定成非静态存在放在堆内存中。

  • 定义静态函数:当功能内部没有访问到非静态数据(对象特有数据)那么,该功能可以定义为静态的。

6、静态的应用

    下一篇

7、静态代码块

格式:

static{    静态代码中的执行语句;}

特点:随着类的加载只运行一次,并优先于主函数。

作用:用于给类进行初始化。

0 0
原创粉丝点击