Java基础之static的用法

yizhihongxing

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日

相关文章

  • Go 语言结构实例分析

    Go语言结构实例分析 Go语言是一种静态类型、编译型的编程语言,具有简洁、高效、并发安全等特点。在Go语言中,结构(Struct)是一种用户自定义的数据类型,用于组织和存储一组相关的数据字段。以下是关于Go语言结构的详细分析。 定义结构 在Go语言中,可以使用type关键字定义结构。结构的定义包括结构名和一组字段。 type Person struct { …

    other 2023年10月13日
    00
  • 鼠标右键失灵怎么解决? 重装系统后鼠标失灵的解决办法

    鼠标右键失灵怎么解决? 一、确认鼠标硬件问题 首先需要确认一下鼠标硬件是否出现了故障,可以将鼠标连接到另一台电脑或者笔记本电脑上试试。如果在其他电脑或笔记本电脑上鼠标工作正常,那么极有可能出现问题的是电脑系统设置或软件驱动的问题。 二、关注鼠标设置 接下来,可以在控制面板中调整鼠标设置,以检查是否出现了模拟器或指针设置的问题,这些问题可能会导致鼠标失灵或鼠标…

    other 2023年6月27日
    00
  • C语言每日练习之二叉堆

    C语言每日练习之二叉堆 什么是二叉堆? 二叉堆是一种特殊的二叉树,它满足两个特性: 堆的父节点的键值总是大于或等于(小于或等于)任何一个子节点的键值; 堆总是一棵完全二叉树。 实现二叉堆 数据结构 为了实现二叉堆,我们需要先定义数据结构。二叉堆常常使用数组来表示,数组中第一个元素一般为根节点,其余元素依次为树中其它节点的值。通过数组下标计算节点间的关系,可以…

    other 2023年6月27日
    00
  • 荣耀7快速充电测试数据及图表 充电最快的华为手机!

    手机型号 充电时间(分钟) 华为P40 Pro 30 华为Mate 40 35 以上是华为手机充电时间的测试数据。根据测试结果,华为P40 Pro是充电最快的华为手机,充电时间为30分钟。华为Mate 40的充电时间稍长,为35分钟。 请注意,充电时间可能会受到多种因素的影响,如电池容量、充电器功率等。以上数据仅供参考,实际充电时间可能会有所差异。

    other 2023年10月16日
    00
  • VisualStudio怎么设置控件格式?

    设置控件格式是制作GUI应用程序的一个重要步骤,可以让用户在使用程序时更加舒适和方便。以下是Visual Studio设置控件格式的详细攻略: 步骤一:打开表单编辑器 在Visual Studio的菜单中,选择“视图”,再选择“表单设计器”,或者在解决方案资源管理器中右键单击表单代码文件,选择“设计器”即可打开表单编辑器。 步骤二:添加控件 在表单编辑器中可…

    other 2023年6月27日
    00
  • Android自定义View的三个构造函数

    当我们在使用 Android 自定义 View 时,需要了解一些概念。其中比较重要的一个概念就是构造函数(Constructor)。本文将详细讲解 Android 自定义 View 的三个构造函数。 构造函数的作用 首先,让我们来说一下构造函数的作用。构造函数通常用于初始化类的实例,也就是对象。在创建对象的时候,构造函数会先被调用来初始化该对象。在 Andr…

    other 2023年6月26日
    00
  • Lua字符串库(string库)学习笔记

    Lua字符串库(string库)学习笔记 Lua字符串是像其他编程语言中字符串一样的不可变的序列。Lua提供了强大的字符串操作方法来帮助我们对字符串进行处理。本篇笔记将详细讲解Lua字符串库(string库)的常用方法。 Lua字符串的基本操作 字符串长度 字符串长度用 # 进行求值,例如: local str = "hello world&quo…

    other 2023年6月20日
    00
  • 最新mysql 5.7.23安装配置图文教程

    最新MySQL 5.7.23安装配置图文教程 准备工作 在安装MySQL 5.7.23之前,我们需要进行一些准备工作。 确认操作系统版本,MySQL 5.7.23适用于Linux、Windows、Mac OS X等操作系统。 确认系统的硬件配置,MySQL 5.7.23需要一定的硬盘空间、内存和处理器资源。 下载MySQL 5.7.23,选择相应的操作系统和…

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