• static成员


    static修饰成员变量

    如果定义3个学生,且他们都属于同一个班,那么定义三次的成员变量会不会显得太繁琐了,那么这个时候我们就可以使用static把班级放到方法区,在Java中,被static修饰的成员,称之为静态成员,也可以称为类成员,其不属于某个具体的对象,是所有对象所共享的

    class Student {
    //    成员变量
        public String name;
        public int score;
    //    由static修饰的静态成员变量,由类来控制访问
        public static String classes = "一班";
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 不属于某个具体的对象,是类的属性,所有对象共享的,不存储在某个对象的空间中
    • 既可以通过对象访问,也可以通过类名访问,但一般更推荐使用类名访问
    • 类变量存储在方法区当中
    • 生命周期伴随类的一生(即:随嘞的加载而创建,随类的卸载而销毁)
      static修饰的对象一般使用类名去访问

    static修饰成员方法

    Java中,被static修饰的成员方法称为静态成员方法,是类的方法,不是某个对象所特有的。静态成员一般是通过静态方法来访问的。

    静态方法特征

    1. 不属于某个具体的对象,是类方法
    2. 可以通过对象调用,也可以通过类名.静态方法名(…)方式调用,更推荐使用后者
    3. 不能在静态方法中访问任何非静态成员变量

    static成员变量初始化

    1. 就地初始化
    public static String classes = "一班";
    
    • 1
    1. 静态代码块初始化
    class Student {
        public static String classes;
    //    静态代码块
        static {
            classes = "一班";
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    注意事项

    • 静态代码块不管生成多少个对象,其只会执行一次
    • 静态成员变量是类的属性,因此是在JVM加载类时开辟空间并初始化的
    • 如果一个类中包含多个静态代码块,在编译代码时,编译器会按照定义的先后次序依次合并
    • 实例代码块只有在创建对象时才会执行
  • 相关阅读:
    #循循渐进学51单片机#实例练习与经验累积#not.9
    AppLink定时调度操作
    护眼台灯是智商税吗?书客、飞利浦、南卡三款台灯真实测评
    MATLAB基本语法
    Dreamweaver网页设计与制作100例——HTML5期末考核大作业——票务网站整套网页
    数据挖掘神器Orange初步使用
    工业以太网RFID设备有哪些部分组成?
    Lyapunov稳定性分析2(连续、离散系统)
    通信信道:无线信道中衰落的类型和分类
    每日N题—数据结构题集
  • 原文地址:https://blog.csdn.net/youstory/article/details/125826589