首页 > 编程语言 >【Java】static 修饰变量

【Java】static 修饰变量

时间:2024-06-06 20:33:50浏览次数:24  
标签:Java 变量 System println static User 修饰 out

static
一种java内置关键字,静态关键字,可以修饰成员变量、成员方法。

static + 成员变量

1.static + 成员变量

成员变量按照有无static修饰,可以分为

  • 类变量static + 变量属于类,仅存一份,由类全部对象所共享。
  • 实例变量(对象的变量)无static修饰属于每个对象

2.类变量图解

在这里插入图片描述

3.类变量的访问

在这里插入图片描述

类变量可以由 对象访问,也可以由 类进行访问
对比:实例变量仅支持由 对象进行访问

// 类变量的访问
        //1.类 . 变量名称
        Student.name = "szg";
        System.out.println(Student.name);
        //2.对象 . 变量名称
        Student s1 = new Student();
        System.out.println(s1.name);

        // 实例变量的访问
        //1.类 . 变量名称  error
        //Student.age = 16; // error
        //System.out.println(Student.age); // error
        //2.对象 . 变量名称
        Student s2 = new Student();
        System.out.println(s1.age);

4.类变量的内存原理

在这里插入图片描述



代码测试验证:

// 类变量被所有对象所共享,而实例变量每个对象都有一个,相互独立
        s1.age = 10;
        s2.age = 20;
        s1.name = "wangwu";
        s2.name = "lisi";
        System.out.println(s1.age);
        System.out.println(s2.age);
        System.out.println(s1.name);
        System.out.println(s2.name);

输出结果:
在这里插入图片描述

5.类变量的应用

在这里插入图片描述
测试类:

// User 的个数
        User u1 = new User();
        User u2 = new User();
        User u3 = new User();
        User u4 = new User();
        User u5 = new User();
        User u6 = new User();
        System.out.println(User.number);

User类:

package suziguang_d1_staticdemo;

public class User
{
    public static int number;
    public User()
    {
           number++;
           //User.number++;
    }
}

输出结果:
在这里插入图片描述


EOF

标签:Java,变量,System,println,static,User,修饰,out
From: https://blog.csdn.net/2302_79031646/article/details/139507948

相关文章

  • Spire.PDF for Java 10.6.0 支持 PDF to SVG, Word and OFD
    Spire.PDFforJava10.6.0enhancestheconversionsfromPDFtoSVG,WordandOFDSpire.DocforJavaisaprofessionalWordAPIthatempowersJavaapplicationstocreate,convert,manipulateandprintWorddocumentswithoutdependencyonMicrosoftWord.B......
  • 什么是Web应用--以JavaWeb为例
    Web应用(WebApplication)是指通过Web浏览器访问的应用程序。与传统的桌面应用不同,Web应用运行在服务器上,通过网络传输数据,并在客户端浏览器中显示和操作。这种架构具有跨平台、易于更新和维护等优势。Web服务器的作用Web服务器在Web应用中扮演着重要角色,主要功能包括:接收......
  • java后端开发学习路径
    java后端开发学习路径阶段一:Java基础(入门)学习内容:基本语法:变量、数据类型、运算符、控制流、函数等。面向对象编程:类、对象、继承、多态、封装等。常用类库:String、集合框架(List,Set,Map)、IO、多线程等。推荐资源:《Java核心技术卷一》:https://www.am......
  • 微前端学习笔记(3):前端沙箱之JavaScript的sandbox(沙盒/沙箱)
    sandboxSandbox(沙盒/沙箱)的主要目的是为了安全性,以防止恶意代码或者不受信任的脚本访问敏感资源或干扰其他应用程序的执行。通过在沙盒环境中运行,可以确保代码的行为被限制在一个安全的范围内,防止其超出预期权限进行操作。沙箱(Sandbox)是一种安全机制,目的是让程序运行在一个相对......
  • JavaWeb_SpringBootWeb案例
    环境搭建:开发规范接口风格-Restful:统一响应结果-Result:开发流程:        第一步应该根据需求定义表结构和定义接口文档注意:    本文代码从上往下一直添加功能,后面的模块下的代码包括前面的模块,并不是某个模块中的代码只有当前功能。部门管理查......
  • Java动态获取实现类 Class.forName(clazz).newInstance()和applicationContext.getBea
    Java动态获取实现类Class.forName(clazz).newInstance()和applicationContext.getBean,beanMap寻找方式,JavaMap定义和初始化方法1.定义枚举类MyServiceTypeEnum.javapackagecom.example.core.mydemo.bean;publicenumMyServiceTypeEnum{SUBMIT_ORDER_SUCCESS("s......
  • 【网络安全的神秘世界】JavaScript
    ......
  • 【JavaScript详解】Day02
    JavaScript基础-第2天理解什么是流程控制,知道条件控制的种类并掌握其对应的语法规则,具备利用循环编写简易ATM取款机程序能力运算符语句综合案例运算符算术运算符数字是用来计算的,比如:乘法*、除法/、加法+、减法-等等,所以经常和算术运算符一起。算术运算......
  • 【入门教程】5分钟教你快速学会集成Java springboot ~
    介绍ApacheDolphinScheduler是一个分布式易扩展的开源分布式调度系统,支持海量数据处理,具有任务流程调度、任务流程编排、任务监控告警、工作流引擎等功能。本文将介绍如何将ApacheDolphinScheduler集成到JavaSpringboot项目中,以实现更灵活和便捷的调度功能。步骤步骤一:添......
  • vue+java实现大文件上传解决方案
    分片上传大文件Demo为了实现分片上传,包括断点续传和重试机制,我们可以使用Vue.js作为前端,SpringBoot作为后端。这个方案包括以下步骤:前端:使用Vue.js进行文件分片上传。管理分片上传的进度和状态,处理断点续传和重试。后端:使用SpringBoot处理分片上传的请求。存储上......