Java 静态数据初始化的示例代码

Java 静态数据初始化是指在类被加载时执行的初始化操作,这里的数据具有静态属性,其作用域始终保持在类的整个生命周期中。静态数据的初始化可以通过两种方式:静态代码块和静态变量初始化。下面将介绍Java静态数据初始化的示例代码和攻略。

静态代码块的初始化

静态代码块在类被初始化时就会被执行,可以在里面进行对静态变量的初始化。如下是静态代码块初始化的示例代码:

public class StaticBlock {
    public static String str;
    static {
        str = "Hello World!";
    }
    public static void main(String[] args){
        System.out.println(StaticBlock.str);
    }
}

上述示例代码使用了静态代码块的初始化方式,创建了一个名为StaticBlock的Java类,其中定义了一个公共的静态字符串变量str。接着,在静态代码块中,将其初始化为Hello World!。最后,在main方法中调用StaticBlock.str打印输出该值。执行该程序将会得到输出为Hello World!的结果。

另一个使用静态代码块的初始化示例代码:

public class StaticBlock {
    private static int count;
    static {
        count = 0;
        System.out.println("Static Block Called, count: " + count);
    }
    public StaticBlock(){
        count++;
        System.out.println("Constructor Called, count: " + count);
    }
    public static void main(String[] args){
        StaticBlock sb1 = new StaticBlock();
        StaticBlock sb2 = new StaticBlock();
    }
}

在上述示例代码中,创建了一个名为StaticBlock的Java类,它有一个私有静态变量count,在静态代码块中将其初始化为0,并打印输出。接着,StaticBlock类中有一个构造函数,它在每次被调用时将count加1,并打印输出。最后,在main方法中创建了两个StaticBlock类的对象。执行该程序将会得到输出为:

Static Block Called, count: 0
Constructor Called, count: 1
Constructor Called, count: 2

说明静态代码块在类初始化时被调用,而构造函数每次被调用时都会打印输出。

静态变量初始化

除了使用静态代码块初始化静态变量,还可以直接初始化静态变量,如下是静态变量初始化的示例代码:

public class StaticVar {
    public static int num = 0;
    public static String str = "Java";
    public static void main(String[] args){
        System.out.println("num: " + StaticVar.num + ", str: " + StaticVar.str);
    }
}

上述示例代码创建了一个名为StaticVar的Java类,其中定义了两个公共静态变量numstr,分别初始化为0和Java。最后,在main方法中输出这两个静态变量的值。执行该程序将会得到输出:

num: 0, str: Java

另一个使用静态变量初始化的示例代码:

public class StaticVar {
    private static String[] words = {"java", "programming", "language", "is", "fun"};
    public static void main(String[] args){
        System.out.println("Words: " + Arrays.toString(StaticVar.words));
    }
}

在上述示例代码中,创建了一个名为StaticVar的Java类,其中有一个私有静态字符串数组变量words,它的内容被初始化为固定的字符串数组。最后,在main方法中打印输出words数组的内容。执行该程序将会得到输出:

Words: [java, programming, language, is, fun]

说明静态变量可以直接通过赋值语句进行初始化。

综上所述,Java静态数据初始化的示例代码和攻略中,介绍了静态代码块和静态变量初始化这两种方式,并分别给出了两个示例代码。静态代码块在类初始化时会被调用,而静态变量初始化只需要通过赋值语句进行即可。在实际应用中,可以根据具体的需求选择不同的方式进行静态数据的初始化。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 静态数据初始化的示例代码 - Python技术站

(0)
上一篇 2023年6月20日
下一篇 2023年6月20日

相关文章

  • 学了HTML5将来能做什么以及薪资水平如何

    学了HTML5将来能做什么以及薪资水平如何 HTML5是一种用于构建网页和应用程序的标准技术。学习HTML5可以为您打开许多职业机会,并提供丰厚的薪资水平。下面是学习HTML5的完整攻略,包括学习内容、能做的事情以及薪资水平。 学习HTML5的步骤 基础知识学习:首先,您需要学习HTML5的基础知识,包括标签、元素、属性和语法。可以通过在线教程、视频课程或书…

    other 2023年7月27日
    00
  • 逆水寒下载完客户端出现问题怎么办 NGP客户端修复方法介绍

    逆水寒下载完客户端出现问题怎么办 问题描述 有玩家在下载逆水寒客户端后,出现了无法打开客户端的问题,怎么解决呢? 解决方法 事实上,逆水寒客户端打不开的原因有很多种,下面分别介绍几种可能的情况以及解决方法。 1. 客户端文件被修改 如果你在下载完逆水寒客户端后,修改了客户端文件,就可能会导致客户端无法打开的情况。如果这是你所遇到的问题,那么可以执行以下操作进…

    other 2023年6月25日
    00
  • C++基于EasyX框架实现飞机大战小游戏

    C++基于EasyX框架实现飞机大战小游戏攻略 介绍 本攻略将会详细介绍如何使用C++语言和EasyX图形库实现一个简单的飞机大战小游戏。EasyX是一个基于Windows GDI+的简单易用的图形库,轻松实现2D图形渲染。 准备工作 下载Visual Studio并安装(如果已安装则可跳过此步); 下载并解压EasyX图形库的压缩包,并将包含EasyX库源…

    other 2023年6月26日
    00
  • CentOS 7下配置Ruby语言开发环境的方法教程

    下面是CentOS 7下配置Ruby语言开发环境的方法教程,包含了详细的步骤和示例说明。 步骤1:安装rbenv 安装rbenv是配置Ruby开发环境的第一步。rbenv是Ruby环境管理工具,可以支持多个Ruby版本的管理和切换。在终端中运行以下命令安装rbenv: $ git clone git://github.com/sstephenson/rben…

    other 2023年6月20日
    00
  • Objective-C中关于实例所占内存的大小详解

    Objective-C中关于实例所占内存的大小详解 在Objective-C中,每个实例对象都会占用一定的内存空间。了解实例所占内存的大小对于优化内存使用和性能至关重要。本攻略将详细讲解Objective-C中实例所占内存的大小,并提供两个示例说明。 1. 实例对象的内存布局 Objective-C的实例对象内存布局由以下几个部分组成: isa指针:每个实例…

    other 2023年8月1日
    00
  • Smart210学习记录—nand flash驱动

    概述 Smart210是一款基于ARM Cortex-A8架构的开发板,可以用于嵌入式系统开发。在Smart210中,我们可以使用nand flash存储数据。本文将为您提供一份完整攻略,介绍如何在Smart210中实现nand flash驱动,并提供两个示例说明。 Smart210 nand flash驱动的完整攻略 步骤1:配置硬件 在实现nand fl…

    other 2023年5月5日
    00
  • gitstash方法

    Git Stash方法的完整攻略 Git Stash方法是一种常用的Git命令,它可以将当前工作目录中的修改暂存起来,以便在需要时恢复。本文将提供一份关于Git Stash方法的完整攻略,包括定义、用法、示例说明以及注意事项。 定义 Git Stash方法是一种Git命令,它可以将当前工作目录中的修改暂存起来,以便在需要时恢复。Git Stash方法可以帮助…

    other 2023年5月9日
    00
  • 苹果iOS13.5.5/iPadOS13.5.5开发者预览Beta更新内容及支持机型分享

    苹果iOS13.5.5/iPadOS13.5.5开发者预览Beta更新内容及支持机型分享 概述 本文将介绍苹果iOS13.5.5/iPadOS13.5.5开发者预览版更新的内容及支持机型情况。该版本主要在安全性方面进行了升级,修复了之前的一些漏洞,并添加了一些新的功能。 支持机型 以下机型支持安装iOS13.5.5/iPadOS13.5.5开发者预览版: i…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部