面向对象(static)

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值