static

static关键字概述

 
 
static关键字的概述
    * 是一个修饰符。
    * 一般用来修饰成员变量,成员方法以及代码块
    * static修饰的成员变量和成员方法不再属于对象,而是属于类。可以被该类的所有对象共享。
成员变量的分类
    * 静态成员变量或类变量:被static修饰的成员变量
    * 非静态成员变量或实例变量:没被static修饰的成员变量
静态成员变量和非静态成员变量的区别
    * 语法的区别
        * 静态成员变量:被static修饰的成员变量
        * 非静态成员变量:没被static修饰的成员变量
    * 数量的区别
        * 静态成员变量:在内存中只有一份,被类的所有对象共享。
        * 非静态成员变量:每创建一个对象都会为该成员变量分配内存空间,每一个对象都有自己的一份,互补干扰。
    * 访问方式的区别
        * 静态成员变量:可以通过对象名访问,也可以通过类名访问(强烈推荐使用)
        * 非静态成员变量:只能通过对象名方法。
    * 生命周期的区别
        * 静态成员变量:跟随类的加载而创建并初始化,跟随类的销毁而销毁。
        * 非静态成员变量:跟随对象的创建而创建并初始化,跟随对象的销毁而销毁。
什么时候可以使用static修饰成员变量?
    * 当该成员变量的值需要在该类的所有对象之间共享时,则应该定义为静态成员变量。
 
静态方法和非静态方法的区别
     * 静态方法:可以通过对象名访问,可以通过类名调用(推荐使用)
     * 非静态方法:只能通过对象名调用
 
静态方法的注意事项
     * 静态方法中不能使用this和super关键字。
     * 静态方法中不能访问非静态成员:非静态成员变量和非静态成员方法
     * 非静态方法中可以访问静态方法:静态成员变量和静态成员方法。
 
什么时候应该将该方法定义为静态方法?
     * 当该方法内部不需要访问任何的非静态成员:非静态成员变量和非静态成员方法,就可以考虑定义为静态方法。
     * 定义工具类时,工具类中的方法一般都是静态方法。
  • 11
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值