当前位置: 首页 > news >正文

static关键字

1、修饰类属性后,变成静态属性,数据存放在jvm的数据区,数据共享并只有一份

2、修饰类方法后,变成静态方法,静态方法只能访问静态属性,不能访问非静态属性

3、非静态方法可以访问静态属性

4、静态代码块在类加载时执行,并且只执行一次

public class Student {
    private String name;
    private int age;
    private static String nationality;//国籍
    static {
        //静态代码块
        System.out.println("Student 类加载时执行,并且只执行一次");
    }
    public void test() {
        this.name = "张三";
        this.age = 18;
        nationality = "中国";//编译没问题,非静态方法可以访问静态属性
    }
    public static void testStatic() {
        //this.name = "张三"; //编译报错,静态方法访问了非静态属性
        nationality = "中国";
    }
    public static void main(String[] args) {
        Student s1 = new Student();
        Student s2 = new Student();
    }
}

执行结果(创建了2个实例,static代码块只执行一次):

相关文章:

  • 如何使用ssm实现基于web的药品管理系统+vue
  • C语言—字符函数和字符串函数
  • 【Linux:管道】
  • MyBatis使用:拦截器
  • 【Rust练习】10.元组
  • Axure设计之三级菜单导航教程(中继器)
  • 使用 Vue 官方脚手架初始化 Vue3 项目
  • SpringBoot文档之测试框架的阅读笔记
  • redis 过期监听:高效管理数据生命周期
  • 芯片后端之 PT 使用 report_timing 产生报告 之 -nets 选项
  • chromedriver下载地址大全(包括124.*后)以及替换exe后仍显示版本不匹配的问题
  • RUST知识框架与学习框架
  • 【提示学习论文】AAPL: Adding Attributes to Prompt Learning for Vision-Language Models
  • Spring Boot 集成 swagger 3.0 指南
  • 基于STM32开发的智能温室控制系统
  • web 3D可视化技术
  • C++码表之Unicode
  • 选择搜索引擎进行搜索
  • 在vs+QT中使用QT的库(multimedia.lib)
  • 009 批量删除
  • 美国证实加拿大及墨西哥汽车零部件免关税
  • 美国经济萎缩意味着什么?关税政策如何反噬经济?
  • 解放日报:人形机器人新赛道正积蓄澎湃动能
  • 张元济和百日维新
  • 一周人物|卡鲁等入围英国特纳奖,李学明新展中国美术馆
  • 商务部新闻发言人就波音公司飞回拟交付飞机答记者问