【static修饰成员变量 + 代码块+toString打印】


成员变量和局部变量的区别

1.成员变量是在类里。
2.局部变量定义在方法里,有生命周期。

static成员

举例:一个班的学生,在实例化每个人的名字,年龄,学号等学员信息时都不一样,但他们的班级是同一个,那需要每个学生都写这个教室对象吗,这样代码量太繁琐了,如果只需要写一次ClassRoom,让大家共享它,这就需要static去修饰ClassRoom。

static修饰成员变量

static修饰的成员变量,称为静态成员变量
静态成员变量最大的特性:不属于某个具体的对象,是所有对象所共享的

注意(重点):

  1. 通过类名调用静态成员变量或者静态成员方法,它们不依赖于对象

  2. 在静态方法中不能调用非静态成员变量或者非静态成员方法,例如this

  3. 被static修饰的变量只能是成员变量(类里),不能是局部变量(方法里)

在这里插入图片描述

static成员变量初始化

静态成员变量的初始化分为两种:就地初始化 和 静态代码块初始化。

  1. 就地初始化
    就地初始化指的是:在定义时直接给出初始值
  2. 静态代码块初始化

代码块

1.构造代码块
在这里插入图片描述
在这里插入图片描述

  1. 静态代码块
    使用static定义的代码块称为静态代码块。一般用于初始化静态成员变量。
    在这里插入图片描述

在这里插入图片描述

static做题的注意事项 (重点):

1 静态代码块先执行
然后执行构造代码块
最后执行对应的构造方法

在这里插入图片描述

  1. 被static修饰的代码 只执行1次,不管后面再new几个对象,都是无效的。(重点)
    在这里插入图片描述
  2. 如果成员变量有好几个static修饰,会遵循从上到下的顺序计算(重点)
    在这里插入图片描述

对象的打印

写show方法打印对象

在这里插入图片描述

调用toString打印对象

不想写show方法打印对象,可以调用toString打印对象
在这里插入图片描述
鼠标右键在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

今天就学到这,学太多反而有点混乱了,效率也不高,最后这个代码块和打印对象看了四五遍才看懂,不是说很难理解,可能太累了,效率变慢了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值