当前位置: 首页 > 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代码块只执行一次):

http://www.dtcms.com/a/11887.html

相关文章:

  • 如何使用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 批量删除
  • Linux(面试篇)
  • 虚拟机安装centos7-桥接模式
  • ChatGPT 3.5/4.0简单使用手册
  • 全感知、全覆盖、全智能的名厨亮灶开源了
  • Java SpringBoot+Vue实战教程:如何搭建高中素质评价档案系统?
  • R语言管道操作详解-高效编程
  • 为什么要构建自己的 AI 代理库
  • [医疗 AI ] 3D TransUNet:通过 Vision Transformer 推进医学图像分割
  • Aiseesoft Mac Video Converter Ultimate:高效多能的视频转换与编辑工具
  • Qt之控件介绍