Java基础06(static)

目录

static

一.static关键字的特点

三.注意事项 

      静态方法只能访问静态成员

      方法中不可定义静态变量

     静态方法不可以定义this,super关键字



static

一.static关键字的特点

         static是一个修饰符,用于修饰类的成员方法、类的成员变量。

  • 静态变量: static关键字用来声明脱离对象的静态变量,无论有多少实例化对象,它的静态常量只有一份拷贝到常量池。静态变量又称类变量;局部变量不可声明成静态。
  • 静态方法:static关键字声明的方法称为静态方法,静态方法只可调用静态变量。
  1. 随着类的加载而加载。
  2. 优先于对象的存在  脱离对象但没有完美脱离。
  3. 被类的所有对象共享。
  4. 可以直接被类名调用。

二.staic的优缺点 

  优点:

  • 对对象的共享数据提供单独的储存,节省空间,没必要每一个对象都存一份

  • 可以直接被类名调用,不用在堆内存创建对象

   缺点 :

  • 访问出现局部型 (静态方法只能调用静态方法和静态变量)

三.注意事项 

      静态方法只能访问静态成员

        非静态方法既可以访问静态成员也可以非静态成员

        原因是,静态方法脱离了对象,而变量依托于对象,所以当静态方法调用不了非静态成员。

    方法中不可定义静态变量

    当将一个变量声明成static时,它就脱离了对象,进入常量池,所以非静态方法不能声明静态成员

静态方法不可以定义this,super关键字

      this代表对本类对象的引用,指向本类已经创建的对象;而super代表对父类对象的引用,指向父类对象

this

    因为this代表的是调用这个方法的对象的引用,而静态方法是属于类的,不属于对象,静态方法成功加载后,对象还不一定存在。

super

      静态优先于对象存在,所以方法被静态修饰之后方法先存在,而方法里面要用到super指向的父类对象,但是所需的父类引用对象晚于该方法出现,也就是super所指向的对象没有,当然就会出错。 

static变量使用

当一个 属性 或 方法 被static声明时,在外部类可以直接通过 "类名.变量名" 即可调用

 请动动读者大大的小手手 关注一波 小小作者 帮忙涨涨粉丝 ,谢谢啦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值