Java——面向对象-static关键字

Java——面向对象-static关键字

Static

  1. static关键字的作用

    1. static是静态的意思,可以修饰成员变量,表示该成员变量只在内存中只存储一份,可以被共享访问、修改

    2.  public class User(){
           public static int onlineNumber = 15;
           private String name;
           private int age;
       }
      
  2. 成员变量可以分为两类

    1. 静态成员变量(有static修饰,属于类,内存中加载一次):常表示如在线人数信息,等需要被共享的信息,可以被共享访问
    2. 实例成员变量(无static修饰,存在于每个对象中):常表示姓名name、年龄age、等属于每个对象的信息。
  3. 成员变量的分类和访问分别是什么样的?

    1. 静态成员变量(有static修饰,属于类,加载一次,可以被共享访问),建议用类名访问,也可以用对象访问。访问格式
      1. 类名.静态成员变量(推荐)
      2. 对象.静态成员变量(不推荐)
    2. 实例成员变量(无static修饰,属于对象),只能用对象触发访问。访问格式
      1. 对象.实力成员变量
  4. 两种成员变量各自在什么情况下定义?

    1. 静态成员变量,表示在线人数等需要被共享的信息。
    2. 实例成员变量:属于每个对象,且每个对象信息不同时。
  5. 两种成员变量使用场景

    1. 表示对象自己的行为的,且方法中需要访问实例成员的,则该方法必须申明程实例方法。
    2. 如果该方法是以执行一个通用功能为目的,或者需要方便访问,则可以申明成静态方法。
  6. static访问注意事项:

    1. 静态方法只能访问静态成员,不能直接访问实例成员。
    2. 实例方法可以访问静态成员,也可以访问实例成员。
    3. 静态方法是不可以出现this关键字的。

工具类

  1. 对于一些应用程序中多次需要用到的功能 ,可以将这些功能封装成静态方法,放在一个类中,这个类就是工具类
    1. 内部都是静态方法,每个方法完成一个功能。
  2. 工具类的作用:一是方便调用,二是提高了代码复用
  3. 工具类的原理和延伸
    1. 一次编写,处处可用
    2. 建议将工具类的构造器私有化处理。
    3. 工具类不需要创建对象

代码块

  1. 代码块概述
    1. 代码块是类的五大成分之一(成员变量、构造器、方法、代码块、内部类),定义在类中方法外。
    2. 在Java类下,使用{}括起来的代码被称为代码块。
  2. 代码块分为:
    1. 静态代码块:
      1. 格式:static{}
      2. 特点:需要通过static关键字修饰,随着类的加载而加载,并且自动触发、只执行一次
      3. 使用场景:在类加载的时候做一些静态数据初始化的操作,以便后续使用
    2. 动态代码块(了解):
      1. 格式:{}
      2. 特点:每次创建对象,调用构造器执行时,都会执行改代码块中的代码,并且在构造器执行前执行。
      3. 使用场景:初始化实例资源
  3. 静态代码块的作用时什么?
    1. 如果要在启动系统时对数据进行初始化。
    2. 建议使用静态代码块完成数据的初始化操作,代码优雅。

设计模式

  1. 什么时设计模式(design pattern)
    1. 设计模式时一套被前任反复使用、多数人知晓、经过分类编目地的代码设计经验的总结,后来者可以直接拿来解决问题。
    2. 设计模式时软件设计中的常见解决方案,好的设计模式可以建议不的提高代码的重用性。
  2. 单例模式:
    1. 可以保证系统中,应用该模式的这个类永远只有一个实例,即一个类永远只能创建要给对象。
  3. 单例的场景和应用:
    1. 例如任务管理器对象,我们只需要一个就可以解决问题了,这样可以节省内存空间。
  4. 单例的实现方式:
    1. 饿汉单例模式
      1. 设计模式
        1. 在用类获取对象的时候,对象已经提前为你创建好了
      2. 设计步骤
        1. 定义一个类,把构造器私有。
        2. 定义一个静态变量存储一个对象。
    2. 懒汉单例模式
      1. 设计模式
        1. 在真正需要改对象的时候,采取创建一个对象(延迟加载对象)
      2. 设计步骤
        1. 定义一个类,把构造器私有
        2. 定义一个静态变量存储一个对象
        3. 提供一个返回单例对象的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值