Java基础之static的用法

Java基础之static的用法

1. static关键字的概述

在Java中,static是一个关键字,它可以用来修饰类的成员。当成员被static修饰时,它就变成了该类的静态成员,也即类级别的成员。静态成员不属于类的任何实例对象,而是与类本身相关联。在使用静态成员时,不需要通过实例对象来访问,可以通过类名直接调用。

2. static修饰变量的用法

2.1 静态变量
静态变量是被static修饰的类级别变量,它在整个类的生命周期内都只有一份拷贝,无论创建多少个类的实例对象,这些实例对象共享同一个静态变量。

示例1:

public class Example {
    static int count = 0; // 静态变量

    public Example() {
        count++;
    }

    public static void main(String[] args) {
        Example obj1 = new Example();
        Example obj2 = new Example();
        System.out.println(Example.count); // 输出结果为2
    }
}

在上面的示例中,静态变量count被定义为Example类的静态成员变量。每次创建Example类的实例对象时,在构造方法里将静态变量count加1。由于静态变量在整个类的生命周期内只有一份拷贝,因此obj1和obj2共享同一个count,输出结果为2。

2.2 静态常量
静态常量是被static修饰的final变量,一旦赋值后就不可修改,并且在类的加载过程中就会被初始化。静态常量通常用于定义一些不可变的全局常量,可以通过类名直接访问。

示例2:

public class Circle {
    static final double PI = 3.14; // 静态常量

    public static void main(String[] args) {
        System.out.println("圆的周长:" + (2 * Circle.PI)); // 输出结果为6.28
    }
}

在上面的示例中,静态常量PI被定义为Circle类的静态成员常量。通过类名直接访问PI,在计算圆的周长时使用。

3. static修饰方法的用法

静态方法是被static修饰的类级别方法,它不依赖于任何实例对象,可以直接通过类名调用。静态方法只能访问类的静态成员,不能访问非静态成员。

示例3:

public class MathUtility {
    static int sum(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        int result = MathUtility.sum(10, 20);
        System.out.println("结果:" + result); // 输出结果为30
    }
}

在上面的示例中,sum()方法被定义为MathUtility类的静态成员方法。通过类名直接调用sum()方法,计算两个数的和并返回结果。

4. 静态代码块的用法

静态代码块是被static修饰的一段代码块,它在类的加载过程中执行,并且只执行一次。静态代码块可以用来初始化静态成员变量或执行一些其他的静态操作。

示例4:

public class InitExample {
    static int num;

    static {
        num = 10;
        System.out.println("静态代码块执行");
    }

    public static void main(String[] args) {
        System.out.println("num的值为:" + InitExample.num);
    }
}

在上面的示例中,静态代码块中给静态变量num赋值,并在控制台打印一条信息。在main方法中通过类名访问静态变量num并输出其值。

以上就是Java中static关键字的用法的完整攻略。通过对static关键字的理解和使用,我们可以更好地理解类的成员和类之间的关系,更灵活地编写Java程序。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java基础之static的用法 - Python技术站

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

相关文章

  • 使用sevenzipsharp压缩/解压7z格式

    使用sevenzipsharp压缩/解压7z格式 在 .NET 平台中,我们经常需要使用7z格式进行文件的压缩和解压操作。7z 是一种高压缩比的文件格式,因此受到广泛的应用。 本文将介绍如何使用 C# 中的 SevenZipSharp 库进行 7z 格式文件的压缩和解压操作。SevenZipSharp 是基于 7-Zip 引擎的扩展,它提供了一种简单的方式来…

    其他 2023年3月29日
    00
  • 研华运动控制卡 SoftMotion 技术简介

    研华运动控制卡 SoftMotion 技术简介 简介 研华(Advantech)作为全球稳定、可靠、高性能工业计算机、嵌入式计算机、工业物联网、智能机器与自动化解决方案的领导厂商,自然不会忽略了运动控制技术的应用。研华运动控制卡 SoftMotion 技术就是一个优秀的例子。 SoftMotion 技术集成在研华 DAQ 2000 系列的运动控制卡上,是一种…

    其他 2023年3月28日
    00
  • 解决bind错误bind:addressalreadyinuse

    解决bind错误bind: address already in use 在使用bind命令时,如果出现bind: address already in use的错误提示,说明此端口已经被占用了。这通常是因为之前运行的程序或服务仍在使用该端口。 为了解决这个问题,我们需要做以下几步: 1. 查找占用该端口的程序或服务 首先,我们需要找出哪个程序或服务正在占用…

    其他 2023年3月29日
    00
  • 手把手教你如何在ubuntu系统中安装pycharm

    手把手教你如何在Ubuntu系统中安装PyCharm PyCharm是一款非常优秀的Python开发环境,它支持多种操作系统平台,并且提供强大的代码编辑、调试和项目管理功能。如果你是Ubuntu系统的用户,那么安装PyCharm也是非常简单的,这篇文章将手把手教你如何在Ubuntu系统中安装PyCharm。 步骤一:下载PyCharm 首先,你需要到官方网站…

    其他 2023年3月28日
    00
  • 微信开发者工具怎么新建项目?微信开发者工具新建项目教程

    下面将为您详细讲解“微信开发者工具怎么新建项目?微信开发者工具新建项目教程”的完整攻略。 1. 下载并安装微信开发者工具 首先,您需要在电脑上下载并安装微信开发者工具。您可以在微信公众平台的官网上进行下载和安装,下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.ht…

    other 2023年6月26日
    00
  • javalist转json字符串

    javalist转json字符串 在Java中,我们经常需要将一个Java对象转换为JSON格式的字符串。如果这个Java对象包含一个List的话,我们也需要将这个List转换为JSON格式的字符串。那么,在Java中,如何将一个List转换为JSON格式的字符串呢?本文将会介绍两种方法。 使用JSONObject Javabean的数据结构比较复杂,因此我…

    其他 2023年3月29日
    00
  • 总结c#获取当前路径的7种方法

    获取当前路径是C#编程中的常见需求。以下是7种获取当前路径的方法: 方法1:使用Environment.CurrentDirectory属性 string currentDirectory = Environment.CurrentDirectory; 方法2:使用Directory.GetCurrentDirectory string currentDir…

    other 2023年5月6日
    00
  • WinCE中命令行工具CecImort.exe工具的使用方法

    WinCE中命令行工具CecImort.exe工具的使用方法 CecImort.exe是WinCE平台下的一个命令行工具,主要用于将文件和数据传输到WinCE设备中。本文将详细讲解CecImort.exe的使用方法。 准备工作 在开始使用CecImort.exe之前,需要先准备好以下内容: 一个支持WinCE的设备 一个WinCE SDK的安装包 安装并配置…

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