zoukankan      html  css  js  c++  java
  • static 关键字的用法

    有些时候,我们需要在jvm 中维护一份共享数据,使得每个使用对象的人,都能共享这份数据,这个时候怎么办呢,就需要使用静态成员变量。

    静态的成员变量只会在数据共享区中维护一份,而非静态成员变量的数据会在每个对象中都维护一份的。。

    static(静态修饰符)

    1. static修饰成员变量 :如果有数据需要被共享给所有对象使用时,那么就可以使用static修饰。

    静态成员变量的访问方式:

    方式1: 可以使用对象进行访问。
    格式: 对象.变量名。

    方式二: 可以使用类名进行访问。
    格式: 类名.变量名;

    注意:
    1. 非静态的成员变量只能使用对象进行访问,不能使用类名进行访问。
    2. 千万不要为了方便访问数据而使用static修饰成员变量,只有成员变量的数据是真正需要被共享的时候
    才使用static修饰。

    static修饰成员变量的应用场景: 如果一个数据需要被所有对象共享使用的时候,这时候即可好实用static修饰。

    内存图
    2. static修饰成员函数:

    static 修饰成员函数的应用

    统计一个类被使用了多少次创建对象,该类对外显示被创建的次数。

    package ViewTest;

    public class Count {
    public static void main (String[] args){
    ds a = new ds();
    ds b = new ds();
    ds c= new ds();
    ds d = new ds(4);
    }
    }

    class ds{
    public static int number =0;
    ds(){
    number++;
    System.out.println(number);
    }
    ds(int c){
    number++;
    System.out.println(number);
    }
    }

    在上述代码中,由于构造函数会在每次对象创建时候,都会执行一次,因此,计数器应写在构造函数中;如果一个类中有多个构造函数的话,那么,

    在创建对象过程中,就不一定会调用哪个构造函数了,因此,计数器需要在每个构造函数中都维护一份,这时候应该联想到知识点,构造代码块。程序可以将

    每个构造函数中维护的number++技术器,放到构造代码块中,这样,无论创建对象时调用哪个构造函数,都不会影响计数器。

  • 相关阅读:
    fmri降噪,利用spatial+temporal信息
    matlab中,计算,记录,程序运行,起始,结束 时间,间隔 &matlab中 tic,toc函数的用法
    第十五章 动态规划——矩阵链乘法
    第十五章 动态规划——钢条切割
    第十四章 数据结构的扩张
    第十四章 红黑树——C++代码实现
    第十三章 红黑树
    第十二章 二叉搜索树
    第十一章 散列表
    第十章 基本数据结构——二叉树
  • 原文地址:https://www.cnblogs.com/xiangnianchulian/p/7236215.html
Copyright © 2011-2022 走看看