Java面向对象高级之static

一.static修饰成员变量

类名.类变量(推荐)

对象名.类变量(不推荐)

二.类变量应用场景

 1.成员变量有几种?各自在什么情况下定义?

*类变量:数据只需要一份,且需要被共享时(修改,访问)

*实例变量:每个对象都要有一份,数据各不相同(如name、score、age)

2.访问自己类中的变量,是否可以省略类名不写?

*可以的

*注意:在某个类中访问其他类里的类变量,必须带类名访问

三.static修饰成员方法

四.static修饰类方法的应用场景——工具类

使用类方法设计工具类的好处:提高代码复用;调用方便,提高开发效率

为什么工具类中的方法要用类方法,而不用实例方法?

*实例方法需要创建对象来调用,此时对象为了调用方法,对象占用内存,这样会浪费内存

*类方法,直接用类名调用即可,调用方便,也节省内存

*工具类没有创建对象的需求,建议将工具类的构造器私有

五.static注意事项

1.类方法中可以直接访问类的成员,不可以直接访问实例成员

2.实例方法中既可以直接访问类成员,也可以直接访问实例成员

3.实例方法中可以出现this关键字 ,类方法中不能出现this关键字

六.代码块

*静态代码块

格式:static{}

特点:类加载时自动执行,由于类只会加载一次,所以静态代码块也只会执行一次

作用:完成类的初始化,例如:对类变量的初始化赋值

*实例代码块

格式:{}

特点:每次创建对象时,执行实例代码块,并在构造器前执行

作用:和构造器一样,都是来完成对象的初始化的,例如:对实例变量进行初始化赋值

七.单例设计模式

1.饿汉式单例设计模式

写法

*把类的构造器私有

*定义一个类变量记住类的一个对象

*定义一个类方法,返回对象

2.懒汉式单例设计模式

写法

*把类的构造器私有

*定义一个类变量用于存储对象

*提供一个类方法,保证返回的是同一个对象

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值