zoukankan      html  css  js  c++  java
  • java ——static 关键词总结

    static (静态的)

    可以用来修饰属性、方法、代码块(或初始化块)、内部类

    static修饰属性(类变量):
    • 1.由类创建的所有的对象,都共用这一个属性
    • 2.当其中一个对象对此属性进行修改,会导致其他对象对此属性的一个调用。vs实例变量(非static修饰的属性,各个对象各自拥有一套副本)
    • 3.类变量随着类的加载而加载的,而且独一份
    • 4.静态的变量可以直接通过“类.类变量”的形式来调用
    • 5.类变量的加载是要早于对象。所以当有对象以后,可以“对象.类变量”使用。但是"类.实例变量"是不行的。
    • 6.类变量存在于静态域中。
    static修饰方法(类方法):
    • 1.随着类的加载而加载,在内存中也是独一份
    • 2.可以直接通过“类.类方法”的方式调用
    • 3.内部可以调用静态的属性或静态的方法,而不能调用非静态的属性或方法。反之,非静态的方法是可以调用静态的属性或静态的方法

    注:静态的方法内是不可以有this或super关键字的!
      静态的结构(static的属性、方法、代码块、内部类)的生命周期要早于非静态的结构,同时被回收也要晚于非静态的结构

    static 修饰代码块(静态代码块):
    • 1.里面可以有输出语句
    • 2.随着类的加载而加载,而且只被加载一次
    • 3.多个静态代码块之间按照顺序结构执行
    • 4.静态代码块的执行要早于非静态代码块的执行。
    • 5.静态的代码块中只能执行静态的结构(类属性,类方法)
    static修饰内部类(静态内部类):
      • 1 它的创建是不需要依赖于外围类的。
      • 2 它不能使用任何外围类的非static成员变量和方法。
  • 相关阅读:
    Java中常见的异常
    WebView中Js与Android本地函数的相互调用
    Gson解析POJO类中的泛型参数
    JAVA反射技术的使用
    Couchbase 找回登录密码
    微信内网页支付开发手记
    Android实现自定义字体
    Android实现图片裁切
    Android实现ExpandableTextView可扩展TextView
    仿美团实现地域选择(二)
  • 原文地址:https://www.cnblogs.com/SacredOdysseyHD/p/8400733.html
Copyright © 2011-2022 走看看