当前位置: 主页 > JAVA语言

java整个程序全局变量-全局static变量

发布时间:2023-02-09 09:24   浏览次数:次   作者:佚名

网上罗列的变量理解有很多,有好有坏,不知道哪个对哪个不对。 所以笔者就简单的根据这些博客和自己的理解写了这篇文章。 如有不妥之处,还望读者指正,谢谢。

java全局对象_全局static变量_java整个程序全局变量

变量是我们经常使用的一种。 刚学Java的时候,经常被各种变量的概念折磨。 当时没仔细挑,后来写类似文章的时候,想把变量作为一个小标题来简单介绍一下,但是发现变量的概念还是比较麻烦。 本文将带你深入了解Java中这些变量的概念。

变量摘要

那么java整个程序全局变量,变量有哪些概念呢?目前已知的变量主要有

接下来,我们将使用各种方法来理解每个概念

实例变量

实例变量也称为实例变量。 没有使用 static 关键字并且在任何方法、构造函数或块之外定义的变量是实例变量。 实例变量是基于一个具体的实例,实例变量之间是不共享的,即一个对象的每个实例都有自己的实例变量。下面是一个实例变量的例子

class Fruits {
  
  public String fruitName; // 具有公共访问权限的 fruitName;
  private int fruitNum;   // 具有私有访问权限的 fruitNum;
  
}

您可以通过以下方式调用实例变量

public class Fruits {

    public String fruitName;
    private int fruitNum;

    public static void main(String[] args) {
        Fruits fruits = new Fruits();
        fruits.fruitName = "strawberry";
        fruits.fruitNum = 100;
    }
}

如何识别实例变量

那么我怎么知道一个变量是不是实例变量呢?这里有一些定义实例变量的规则

全局static变量_java整个程序全局变量_java全局对象

实例变量是有默认值的,即实例变量可以不用初始化就可以使用。以下是常用实例变量的初始值

java整个程序全局变量_全局static变量_java全局对象

实例变量的特征

以上我们了解了实例变量的基本特征以及如何区分实例变量。 接下来说一下实例变量的特点。

全局变量

全局变量也叫全局变量。如果你有其他语言的编程经验,比如C、C++,你会接触到全局变量的概念,可以使用如下代码创建全局变量

#include

 // 全局变量
 int A;
 int B;

 int Add()
 
{
  return A + B;
 }

但是在 Java 中,没有全局变量。 由于 Java 是一种面向对象的编程语言,所以一切都是类的一部分。 Java 这样做的原因是为了防止数据和类成员被程序的其他部分有意或无意地修改。 所以在Java中,静态变量用于全局访问。

静态变量

静态变量也称为静态变量。 静态变量的定义比较简单。 静态变量就是属于这个类的变量,通过static关键字修饰。 static修饰的变量是静态变量,只能定义在类内部,方法外部。

静态变量的特点

全局static变量_java整个程序全局变量_java全局对象

全局static变量_java整个程序全局变量_java全局对象

public class Fruits {

    public String fruitName;
    private int fruitNum;
    static String fruitType;

    public static void main(String[] args) {
        Fruits.fruitType = "apple"// 类名.变量名
        System.out.println(fruitType);
    }
}

类变量

类变量也称为类变量。 在Java中,类变量是静态变量,都是用static关键字修饰的。 所以,如果再听到静态变量,也是类变量。

局部变量

还有一种说法,Java中只有类变量、实例变量和局部变量。 这样划分是没有问题的。 可能有人会问java整个程序全局变量,成员变量和常量放在哪里?别着急,等会再说

先说一下什么是局部变量

局部变量也称为局部变量。 它指的是在方法、构造函数或代码块中定义的变量。 当方法、构造函数和代码块执行完成时,局部变量的生命周期被破坏。

不管上面的一些变量概念如何变化,局部变量,立如松,坐如钟,行如风,卧如弓,从容应对各种文章的比较。 多么简单的变量。

java全局对象_全局static变量_java整个程序全局变量

所以我们需要仔细研究一下这么好的东西的特性。

java整个程序全局变量_全局static变量_java全局对象

全局static变量_java全局对象_java整个程序全局变量

全局static变量_java整个程序全局变量_java全局对象

成员变量

什么? 成员变量是Java中的实例变量? 这个结论正确吗?

持续的

java整个程序全局变量_全局static变量_java全局对象

验证过程

为了验证这个结论,我们求助于stackoverflow网站

java整个程序全局变量_java全局对象_全局static变量

我们搜索了java成员变量和实例变量来帮我们定位到这个标题

大致意思是:什么是成员变量? 成员变量和实例变量是一样的吗?我们下面有答案

java整个程序全局变量_全局static变量_java全局对象

java全局对象_java整个程序全局变量_全局static变量

第一句话给出了实例变量和类变量都称为成员变量,然后在JDK官网手册中给出了变量的定义。意思是在Java中,只有三种类型的变量

嗯。 . .也许这不是解决我们问题的好方法。 问题再次求助JDK官网手册,又看到了Variables的定义。

全局static变量_java全局对象_java整个程序全局变量

就是说在Java中,只有以下几种类型的变量(不说别的,你比官网靠谱吗?)

全局static变量_java整个程序全局变量_java全局对象

非静态属性也称为实例变量,因为它们的值是相对于每个实例的。 也就是说,对于每一个对象,实例变量的值都是唯一的;

public static void main(String[] args) {}

不管args是不是String数组的变量,我们也称它为形参,所以没有关键字来声明形参,只看它的声明位置来标识它是形参。

哔哩哔哩

所以

全局static变量_java整个程序全局变量_java全局对象

全局static变量_java全局对象_java整个程序全局变量

我写了一篇文章给大家讲清楚,现在大家应该知道Java中的变量是什么了。

如果用static来定义一个变量,它只能是一个类变量,或者静态变量,它的定义位置只能在类中,方法或代码块之外,而且变量只有一份。

如果不使用static来声明变量,那么就会有三个变量被调用

这就是下面代码所描述的

public class VariablesInJava {

 int instanceVariable; // 实例变量

 static String staticVariable; // 类变量

 public void method() {
    
  String localVariable = "localVariable"// 局部变量
  System.out.println(localVariable);
 }

 public static void main(String args[]) {} //参数
}

好吧各位,我比比太多了,被踢出群了。

java整个程序全局变量_java全局对象_全局static变量

java整个程序全局变量_java全局对象_全局static变量

java全局对象_全局static变量_java整个程序全局变量

java整个程序全局变量_java全局对象_全局static变量

*版权声明:转载文章及图片均来自公网,版权归作者本人所有。 除非无法确认推送的文章,否则我们会注明作者和出处。 如出处有误或侵犯原作者权益,请联系我们删除或授权。

java整个程序全局变量_全局static变量_java全局对象