• Java-static


    Java-static

    一 static
    static是一个修饰符,仅仅能修饰成员变量和方法
    除了对象调用的方式。还多了一种调用方式
    即能够使用 类名.静态成员 来调用,简称为类变量,

    2,static在数据区:类的方法和静态方法

    3。static特点:
    随着类的载入而载入,随着类的消失而消失
    生命周期最长
    优先于对象存在,静态变量在对象不存在的时候也存在
    被全部对象所共享
    直接被类名调用

    4,使用的原因
    尽管能够通过建立类的对象来使用类的方法。对类进行操作,
    可是假设出现了:
    1,定义了类的对象。却没有使用类的非静态变量
    2,类没有封装静态变量
    这两种情况的话。就能够考虑将类中的方法都定义为static,使得能够
    直接通过类名.静态方法名来调用方法

    将方法都静态后,能够方便与使用。可是该类还是能够被其它的程序建立变量
    为了更加严谨。强制不能建立对象,能够通过将构造函数私有化来完毕

    二 实例变量(非静态变量)和静态变量(类变量)的差别
    1,存放位置
    类变量随着类的载入而存在于数据区中
    非静态变量随着对象的建立而存在于堆内存中

    2,生命周期
    类变量生命周期最长。随着类的消失而消失
    非静态变量生命周期随着对象的消失而消失

    三 什么时候使用静态
    什么时候定义静态变量:
    当对象中出现共享数据时。该数据被静态修饰
    对象中的特有数据定义成非静态存在堆内存

    什么时候定义静态函数:
    当函数内部没有訪问到非静态成员的时候。能够定义为静态函数

    非静态变量定义在对象中,当不须要使用非静态变量的时候,
    就不须要对象去调用。所以能够定义为静态函数,用类名直接调用

    注意事项
    1,静态方法仅仅能訪问静态成员
    非静态方法能够訪问静态和非静态

    2,静态方法不能够定义this,superkeyword
    由于静态优先于对象存在。所以静态方法不能够有this

    3,主函数静态
    长处:
    对对象的共享数据进行单独空间存储,节省空间,没有必要每一个对象都春一份
    能够被类名调用

    缺点:
    生命周期过长
    訪问出现局限性,(静态仅仅能訪问静态)

  • 相关阅读:
    pandas基础操作(一)
    将字符串中的字符映射不同的值,并保存txt文本
    and、or、not、in、not in 中的or
    pandas读写数据库
    SQL语句被锁,运行超时
    在一张表里添加另外一张表里的一列数据
    Linux服务进程管理
    Ubuntu软件更新更换源
    SpringBoot1-1
    Linux 基本使用2
  • 原文地址:https://www.cnblogs.com/yxysuanfa/p/7358493.html
Copyright © 2020-2023  润新知