首页 > 编程语言 >java中 static 关键词

java中 static 关键词

时间:2023-06-02 15:55:09浏览次数:41  
标签:java 变量 静态 关键词 访问 static MyClass 静态方法

在Java中,static是一个关键字,可以用于变量、方法和代码块上。

1. 静态变量(static variable)

静态变量是被声明为static的变量。它属于类,而不是属于任何一个对象的。因此,无论创建了多少个类的对象,静态变量只有一份拷贝,所有对象共享同一个静态变量。静态变量可以通过"类名.变量名"的方式访问。

2. 静态方法(static method)

静态方法是被声明为static的方法。同样地,它属于类,而不是属于任何一个对象的。因此,静态方法不能访问非静态成员(如实例变量、实例方法等),而只能访问静态成员(如静态变量、静态方法等)。

3. 静态代码块(static block)

静态代码块是被声明为static的代码块。它会在类被加载时执行,且只会执行一次。通常在静态代码块中进行一些初始化操作。

使用static的注意事项:

  1. static变量通常使用大写字母表示,以便与普通变量区分开来。

  2. 静态方法不能被重写(override),因为它们属于类而不是属于任何一个对象的。

  3. 静态变量和静态方法都可以通过"类名.变量名"或"类名.方法名"的方式访问,而不需要创建任何对象。

  4. 静态成员的生命周期与类的生命周期相同,因此它们会在类被卸载时销毁。

  5. 在多线程环境下,对静态变量的访问必须进行同步处理,否则可能会出现线程安全问题。

class MyClass{
    static int x = 10;
    int y = 20;

    static void myStaticMethod(){
        System.out.println("调用了静态方法!");
    }
}

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println(MyClass.x);
        //System.out.println(MyClass.y);//无法从静态上下文中引用非静态 变量 y
        MyClass.myStaticMethod();
    }
}

标签:java,变量,静态,关键词,访问,static,MyClass,静态方法
From: https://www.cnblogs.com/pansidong/p/17452022.html

相关文章

  • Java入门讲解之EditPlus的安装与配置
    正好在学习java,使用到EditPlus软件,跟大家分享一下editplus的安装与配置过程:也可以直接看视频安装,B站上动力节点老杜的Java17版入门教程,详细讲了关于Editplus的安装配置学习地址:https://www.bilibili.com/video/BV1ig4y1c7kPEditPlus的安装与配置为什么不建议初学者一开始就用......
  • eclipse集成Java性能分析神器JProfiler
    JProfiler是一款功能强大的Java开发分析工具,能帮助从事编程工作的朋友们分析你们的代码数据,确定内存泄漏并了解线程问题。1、下载JProfilerhttps://www.ej-technologies.com/download/jprofiler/files可以根据系统位数选择具体版本的JProfiler2、安装JProfiler下载绿色版本JPro......
  • Java Properties类
    Properties处理两种行,自然行和逻辑行。逻辑行:用反斜线在一行的末尾,会和相邻的下一行形成逻辑行,如下org.springframework.boot.autoconfigure.EnableAutoConfiguration=\org.apache.rocketmq.spring.autoconfigure.RocketMQAutoConfiguration自然行就是以\n or \r or \r\n结尾......
  • JAVA爬数据也是杠杠的,爬下杜大哥
    上篇分析的网站是国家级,没有真正编写代码爬取对应的数据,今天以“1药网”为例来爬一爬药品数据https://www.111.com.cn/1、分析网站进入网站首页2、点击一下“所有商品分类”,对应的网站地址如下https://www.111.com.cn/categories/先爬取所有的“分类”,然后在根据“分类”获取......
  • 传奇如何封玩家IP?如何通过关键词过滤玩家消息?
    相信挺多开服的GM多多少少有遇到几个胡搅蛮缠的玩家,不充值要求还多,这种玩家留着也影响开服心情,所以今天就给大家分享一个封玩家IP和关键词的方法要想封玩家的IP,需要先知道那个玩家的IP,打开传奇引擎,找到一个网关,页面如下图,点击查看,在线人物,就可以看到正在玩的玩家信息,找到那个玩家,可......
  • JAVA通过oshi获取系统和硬件信息
    JAVA通过oshi获取系统和硬件信息 一、引入jar包本项目主要使用第开源jar包:https://github.com/oshi/oshi<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>RELEASE</vers......
  • Java+Js实现文件下载
    Maven依赖<dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.9.0</version></dependency>页面<!DOCTYPEhtml><......
  • Java进行内存泄露​ GC 分析都有哪些常用好用的工具
    使用Java语言开发应用程序,虽然JVM帮我们进行了GC收集、清除工作;但是使用不当的话,还是会导致某些对象常驻堆空间无法给垃圾收集器清除,导致内存泄露、内存溢出等情况,今天盘点一下在项目中进行内存泄露分析和GC分析的一些常用、好用的工具。0x01:JDK自带工具在处理内存泄露方面JDK本身......
  • Jmeter:Beanshell调用java代码的三种方式
    阅读文本大概需要3分钟。0x01:BeanShell控制界面介绍每次调用前重置bsh.Interpreter:可以选择True和False。如果此选项为True,则将为每个取样器重新创建解释器。传递给BeanShell的参数(=>StringParametersandString[]bsh.args):传递给BeanShell脚本的参数,参数存在以下变量中。Param......
  • 5.12 综合案例 : 简单java类
    简单java类,基础很重要,需要手,熟练无误的写出来classDept{privatelongdeptno;privateStringdname;privateStringloc;publicDept(){//必须提供无参构造方法;}publicDept(longdeptno,Stringdname,Stringloc){this.deptno=......