广告
返回顶部
首页 > 资讯 > 精选 >java中静态变量指的是什么
  • 925
分享到

java中静态变量指的是什么

2023-06-14 23:06:11 925人浏览 安东尼
摘要

小编给大家分享一下java中静态变量指的是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各

小编给大家分享一下java中静态变量指的是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Java的优点是什么

1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向对象;3. 分布性,Java是面向网络的语言;4. 鲁棒性,java提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。;5. 安全性,用于网络、分布环境下的Java必须防止病毒的入侵。6. 体系结构中立,只要安装了Java运行时系统,就可在任意处理器上运行。7. 可移植性,Java可以方便地移植到网络上的不同机器。8.解释执行,Java解释器直接对Java字节码进行解释执行。

在java中,静态变量指的是被static修饰的类的变量;静态变量被所有类实例对象所共享,在内存中只有一个副本,当且仅当在类初次加载时会被初始化。

教程操作环境:windows7系统、java8版、DELL G3电脑。

1. JVM运行时数据区域

java中静态变量指的是什么

  • Java堆存放几乎所有的对象实例,被所有线程共享

  • 方法区(永久代)与Java堆一样,是各个线程共享的内存区域,它用于存储已经被虚拟机加载类的类信息、常量、静态变量(static variable)等

2. static变量

被static修饰的类的变量,也称为静态变量。非静态变量也称为实例变量

静态变量和实例变量的区别是:

  • 静态变量被所有类实例对象所共享,在内存中只有一个副本,当且仅当在类初次加载时会被初始化。

  • 实例变量是实例对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个实例对象拥有的副本互不影响

public class MyStatic {    // 静态变量    private static int index = 0;    // 实例变量    private int count = 0;    public void inc() {        index++;        count++;    }    public String  get() {        return "静态变量index = " + index + ",  实例变量count = " + count;    }}
public class StaticVariableTest {    public static void main(String[] args) {        MyStatic myStatic1 = new MyStatic();        MyStatic myStatic2 = new MyStatic();        MyStatic myStatic3 = new MyStatic();        myStatic1.inc();        System.out.println("myStatic1的index、count增加1:");        System.out.println("myStatic1的" + myStatic1.get());        System.out.println("myStatic2的" + myStatic2.get());        System.out.println("myStatic3的" + myStatic3.get() + "\n");        myStatic2.inc();        System.out.println("myStatic2的index、count增加1:");        System.out.println("myStatic1的" + myStatic1.get());        System.out.println("myStatic2的" + myStatic2.get());        System.out.println("myStatic3的" + myStatic3.get() + "\n");        myStatic3.inc();        System.out.println("myStatic3的index、count增加1:");        System.out.println("myStatic1的" + myStatic1.get());        System.out.println("myStatic2的" + myStatic2.get());        System.out.println("myStatic3的" + myStatic3.get());    }}

运行结果:

java中静态变量指的是什么

可以看出:

  • 静态变量index是多个对象实例共享的

  • 实例对象count是多个对象实例私有的

myStatic1的index、count增加1:myStatic1的静态变量index = 1,  实例变量count = 1myStatic2的静态变量index = 1,  实例变量count = 0myStatic3的静态变量index = 1,  实例变量count = 0myStatic2的index、count增加1:myStatic1的静态变量index = 2,  实例变量count = 1myStatic2的静态变量index = 2,  实例变量count = 1myStatic3的静态变量index = 2,  实例变量count = 0myStatic3的index、count增加1:myStatic1的静态变量index = 3,  实例变量count = 1myStatic2的静态变量index = 3,  实例变量count = 1myStatic3的静态变量index = 3,  实例变量count = 1

java中静态变量指的是什么

3. static变量误区

3.1 static不能作用于局部变量
  • C/C++中static是可以作用域局部变量的

  • Java中static是不允许用来修饰局部变量。
    不要问为什么,这是Java语法的规定。
    java中静态变量指的是什么

3.2 this可以访问静态变量

静态变量虽然独立于对象,但是不代表不可以通过对象实例去访问,所有的静态方法和静态变量都可以通过对象实例访问(只要访问权限足够)。
this表示当前对象实例,而static静态变量被所有对象所共享,所以可以通过this访问静态变量

public class StaticVariable {    public static int index = 1;    public static void main(String[] args) {        StaticVariable staticVariable = new StaticVariable();        staticVariable.get();    }    private void get() {        int index = 2;        System.out.println(this.index);    }}

运行结果:

java中静态变量指的是什么

3.3 static不会改变类成员的访问权限

Java中的static关键字不会影响到变量或者方法的作用域。在Java中能够影响到访问权限的只有private、public、protected(包括包访问权限)这几个关键字

public class MyStatic {    public static int index1 = 1;    // 静态变量    private static int index2 = 0;}public class StaticVariableTest {    public static void main(String[] args) {        System.out.println(MyStatic.index1);        System.out.println(MyStatic.index2);    }}

java中静态变量指的是什么

以上是“java中静态变量指的是什么”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: java中静态变量指的是什么

本文链接: https://www.lsjlt.com/news/275973.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java中静态变量指的是什么
    小编给大家分享一下java中静态变量指的是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各...
    99+
    2023-06-14
  • Java中static静态变量的作用是什么
    Java中的static关键字可以用来修饰变量,使其成为静态变量。静态变量具有以下特点和作用:1. 共享性:静态变量属于类而不是实例...
    99+
    2023-09-14
    Java static
  • Java中静态变量与实例变量的区别是什么
    今天就跟大家聊聊有关Java中静态变量与实例变量的区别是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。java类的成员变量有俩种:一种是被static关键字修饰的变量,叫类变量或...
    99+
    2023-06-17
  • php中什么是静态变量
    这篇文章主要介绍了php中什么是静态变量,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是静态变量:在函数内部使用static声明得变量就是静态变量;静态变量的特征:静态变...
    99+
    2023-06-15
  • java的静态变量和实例变量的区别是什么?
    静态变量属于类的级别,而实例变量属于对象的级别。静态变量和实例变量的主要区别有两点:存放位置不同类变量随着类的加载存在于方法区中,实例变量随着对象的对象的建立存在于堆内存中。生命周期不同类变量的生命周期最长,随着类的加载而加载,随着类的消失...
    99+
    2018-12-02
    java教程 java 静态变量 实例变量
  • php方法中的静态变量是什么
    本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑php方法中的静态变量是什么?PHP中的静态变量及static静态变量使用详解静态变量只存在于函数作用域内,也就是说,静态变量只存活在栈中。一般的函数内变量在函数结束后会...
    99+
    2017-05-04
    php 静态变量
  • java静态成员变量赋值的方法是什么
    Java静态成员变量赋值的方法是通过在静态代码块中为该变量进行赋值。静态代码块是在类加载时执行的一段代码块,可以用来初始化静态成员变...
    99+
    2023-09-15
    java
  • php7静态变量与普通变量的区别是什么
    这篇文章主要讲解了“php7静态变量与普通变量的区别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php7静态变量与普通变量的区别是什么”吧!php7...
    99+
    2022-10-19
  • 静态变量有什么用
    静态变量是一种在程序运行期间保持固定存储位置的变量,有以下几个主要的用途:1、实现对数据的持久性存储和访问;2、在程序的不同部分之间共享数据;3、用于保存函数的状态信息;4、用于控制函数或类成员的可见性和范围。本教程操作系统:Windows...
    99+
    2023-08-17
  • php常量和静态变量的区别是什么
    本教程操作环境:windows10系统、PHP7.1版、DELL G3电脑php常量和静态变量的区别是什么在效率上:常量编译过程比静态变量快的多。代码:<php error_reporting(E_ALL); class A { ...
    99+
    2014-08-20
    PHP
  • Java中的static关键字和静态变量、静态方法
    本篇内容介绍了“Java中的static关键字和静态变量、静态方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有...
    99+
    2022-10-19
  • C#中静态变量与非静态变量的区别有哪些
    这篇文章主要为大家展示了“C#中静态变量与非静态变量的区别有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#中静态变量与非静态变量的区别有哪些”这篇文章吧。静态变量:静态变量使用 stat...
    99+
    2023-06-17
  • php中静态变量和普通变量有什么区别
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑在变量的前面加上static 就构成了静态变量(static 变量)。static变量和普通变量的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组...
    99+
    2014-09-28
    php 静态变量 普通变量
  • Java中的static--静态变量你了解吗
    目录引言引言什么时候使用静态变量?小总结引用访问静态变量小总结总结引言 static 是 java 语言中的关键字,意思是“静态的”,它可以用来修饰变量、方法、代码块等,修饰的变量叫...
    99+
    2022-11-12
  • java静态成员变量怎么赋值
    Java静态成员变量可以通过以下两种方式进行赋值:1. 在静态代码块中赋值:```javapublic class MyClass ...
    99+
    2023-08-23
    java
  • php静态化指的是什么
    本篇内容主要讲解“php静态化指的是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php静态化指的是什么”吧!PHP静态化就是使网站生成页面以静态HTML的形式展现在访客面前;PHP静态化分...
    99+
    2023-07-04
  • C#中怎么定义静态变量
    本篇文章给大家分享的是有关C#中怎么定义静态变量,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。C#静态变量定义的实例演示:例如:新建类GlobalParams可以在类中这样写:...
    99+
    2023-06-17
  • javascript中变量指的是什么
    这篇文章给大家分享的是有关javascript中变量指的是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 在javascript中,变量就是临时存...
    99+
    2022-10-19
  • C++分析讲解类的静态成员变量是什么
    目录一、成员变量的回顾二、新的需求三、静态成员变量四、小结一、成员变量的回顾 通过对象名能够访问 public 成员变量每个对象的成员变量都是专属的成员变量不能在对象之间共享 二、新...
    99+
    2022-11-13
  • PHP中怎么使用self关键字指向类静态变量
    本篇文章为大家展示了PHP中怎么使用self关键字指向类静态变量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先我们要明确一点,self是指向类本身,也就是PHP self关键字是不指向任何已经实...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作