静态变量中的两种两种取出方式self和对象取值

若依分离版文件上传后端逻辑分析 若依已经将文件上传的后端方法封装完毕 com.ruoyi.web.controller.common.CommonController 下uploadFile方法 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210423091231197.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80N 阅读详情

在我们的很多时候,可能会用到静态变量,如统计随时可变的量,尽管也可以使用global(全局变量),但是这样容易破坏类的结构性,所以,使用静态变量来表示或则控制可变的量,也可以理解为共享的量,下面是我对静态变量取出的的两种方式特点认识:

1:首先,经过测试,静态变量是可以脱离对象而存在的,准确的说,静态变量是属于类的。

2:在类内有self和对象取值两种方式,在类外,只有对象取值这一种方式。

3:普通函数函数可以操作静态变量,反过来静态函数就不能操作普通变量

下面是我的测验过程代码:


全局变量的使用:

global $StudentNum;
	$StudentNum = 0;
	class Student{
		public function __construct($name){
			$this->name1 = $name;
			//这里说明的是类内元素和参数的比较
			global $StudentNum;
			$StudentNum++;
			echo "第".$StudentNum."个学生--".$this->name1."--加入游戏"."<br/>";
		}
}
$student_1 = new Student("小黑");
	$student_2 = new Student("小白");
	$student_3 = new Student("小李");
	$student_4 = new Student("小张");
	$student_5 = new Student("小黄");
	$student_6 = new Student("小灰");
?>

静态变量的使用

<?php
	class Student{
		/*public $name;*/
		//静态变量是共享的变量
		static public $StudentNum=0;
		public function __construct($name){
			/*$this->name=$name;*/
			self::$StudentNum++.'<br/>';
			echo "第".Student::$StudentNum."个学生".$name."参加游戏".'<br/>';
		}
		//下面的因为没执行所以才会没显示错误
		public function ShowStudent(){
			$this->StudentNum = "999";
		}
	}
	//静态变量并不依赖对象而存在
	/*$student_1 = new Student;
	$student_1->StudentNum;
	echo Student::$StudentNum;
	/*$student_1 = new Student("hu");
	$student_1 = new Student("hu");
	$student_1 = new Student("hu");
	$student_1 = new Student("hu");*/
	echo Student::$StudentNum;//在类的外面只有这一种方法进行访问
	
?>


自制电吉他效果器 DIY PCB(二)电路图分析 自制DIY电吉他效果器 PCB(二)电路图分析 要自制一款效果器,看懂电路图是必须的,即使你已经有了完整的设计电路图,在电路的绘制已久焊接的时候电路知识都会用到。 在效果器电路中,比较简单的是过载失真类效果器的电路。混响延迟等与声相有关的由于电路比较复杂本人也没有尝试过。其他的例如EQ、哇音等等效果器复杂程度依设计各不相同,在能做出过载失真类效果器后,可以自行尝试。 我这里主要为大家介绍失真效果器... 阅读详情

相关推荐

NE564锁相环FM解调电路设计:10.7MHz中频实测与3种失真优化方案

本文详细解析了NE564锁相环在10.7MHz中频FM解调电路中的设计与优化方案。通过分析锁相环技术基础、电路架构设计及典型失真问题,提供了3种有效的失真优化方法,包括限幅增强、VCO频偏补偿和环路滤波优化,显著提升解调性能。文章还涵盖了PCB布局要点和系统测试验证,为高频电子线路设计提供实用参考。

weixin_33314040的博客 349

RuoYi若依框架学习:读取配置文件

我们如何读取在application.yml文件中的配置信息,主要有两种方式@ConfigurationProperties和@Value @ConfigurationProperties 方式 参见Global.java @Value 方式 参加ShiroConfig.java

mengjie0617的博客 9460

HCIA重点知识

华为认证ICT工程师,是华为认证体系中用于标识个人能力在某一技术领域达到工程师级别的证明,表示通过认证的人员具备安装、配置、运行 ICT 设备,并进行基础故障排除的能力。抽象语言 -----> 编码 -----> 二进制 -----> 电信号 -----> 处理电信号信号的转换标准:协议,是一种允许电子设备相互交流的一系列标准的规则。即开放系统参考模型OSI/RM,简称“OSI”。OSI参考模型将计算机网络分为七个层次,自上而下依次为:应用层,表示层,会话层,传输层,网络层,数据链路层,物理层。1、应用层:

Awen0201的博客 2536

JAVA获取静态变量属性值的两种方法

JAVA获取静态变量属性值的两种方法 1,通过反射机制获取 /** * 获取某个类的所有静态属性 */ public static void getAllStaticField()throws ClassNotFoundException,IllegalAccessException{ Class clazz = Class.forName("com.xxx.ProcessCodeConstants"); Field[] declaredFields = clazz.getDeclared

GWQ_CY的博客 8276

Linux下离线安装Google Chrome

目录背景一、下载并安装Google Chrome二、下载并安装依赖包1.libvulkan.so.1()(64bit)2.读入数据总结 背景 项目中服务器被要求不能连接外网,不能直接联网安装,所以需要下载Google Chrome安装包和依赖包,然后离线安装。 linux下步骤都一样,不管ubuntu还是centos只是需要下载对应系统的文件包即可。 本机系统:CentOS 7 一、下载并安装Google Chrome 官方下载地址http://www.google.cn/chrome/browser/d

ancientapesman的博客 1万+

Android 默认授予所有应用权限以及特殊权限处理

PackageManagerService作为android的主要系统服务之一,包含处理应用权限相关的职责。源码地址如下:在PMS成功启动时并收到回掉systemReady回进行应用权限授予。DefaultPermissionGrantPolicy为权限处理策略管理类。这里并没有赋予所有系统应用权限,所以当进行应用时还是会显示权限检查的弹框。可通过此方法进行所有应用权限赋予:如果不想所有应用都授予权限,可考虑在system/etc下的权限相关xml文件添加应用包名和所需权限。

Jimmy的专栏 1508

若依框架下拉框修改默认选中和添加

添加直接复制查询的就可以联动下拉框查询

重生之我不会写代码 4985

西门子 标准程序解读---> 机器手抓取和涂胶控制程序

摘要 该程序实现机械手在OP70/OP90工位的自动化控制,核心功能包括: 流程控制:分段(Seg1-Seg11)管理抓件、涂胶、放件等动作,结合DB1050/DB1250数据块监控工位状态及变位机位置反馈。 安全机制:配置干涉区(FC124)、实时检测安全光/急停信号,防止碰撞;服务程序(FB191)支持维修位触发与安全隔离。 参数配置:通过DB块关联机器人速度、节拍(FB27)、车型编码(如空过=2)及手自动模式(DB70.DBX21.2)。 应用场景:适用于汽车焊接/装配线

工控智联驿站 1238

Block原理、变量截获、三种形式、Block中weak/strong self的用法

Block原理、变量截获、三种形式、Block中weak/strong self的用法前言1、Block的原理2、变量截获1、局部变量截获是`值`截获2、局部静态变量截获是`指针`截获。3、全局变量,静态全局变量截获:`不截获,直接取值`。4、__block修饰变量截获是`指针`截获。3、Block的3种形式1、不使用外部变量的block是全局block2、使用外部变量并且未进行copy操作的block是栈block,`日常开发常用于这种情况`。3、对栈block进行copy操作,就是堆block,而对全局

烈马痴情葱的博客 765

Vue3 - 手机移动端H5网页强力解决弹起软键盘后页面被挤压变形或页面整体上移问题,点击input输入框键盘弹出底部被上推往上顶遮挡及各种问题(兼容安卓苹果ios手机,微信公众号网页微信内置浏览器)

vue3,h5网页,input输入框组件,vue3 h5软键盘弹出,vue3输入框,键盘弹起时页面整体上移问题,uni,H5页面,解决软键盘弹起页面被挤压、被往顶的问题,解决vue3输入框,键盘弹起时页面整体上移问题,vue3调用手机系统软键盘,页面窗口被顶起,布局定位失效,解决VUE3软键盘弹起导致页面fixed定位元素被顶上去,输入法软键盘弹起,窗口顶起,变形解决办法,Vue中input组件在IOS设备上弹出软键盘时页面整体上移问题的解决方案,以及input组件聚焦后弹出软键盘固定在,Vue3软键盘把界

🏆 前端领域优质创作者 1万+

AgentScope实战训练营-Java开发HITL人机协作AI应用完整指南

本文手把手带你从零搭建一个基于 Spring Boot WebFlux + AgentScope + 通义千问的人机协作(HITL)AI 聊天应用。项目涵盖流式对话、工具调用、高危操作确认、对话中断、动态 MCP 工具接入、中英文双语界面等完整功能。文章从环境准备、pom.xml 配置、DTO 数据模型、Hook 机制、AgentService 核心服务、ChatController 接口到前端 HTML/CSS/JS 实现,逐一讲解每行代码的设计意图,并附带 REST API 接口说明、测试场景、常见问题

program哲学 712

iOS浅谈Block

一、什么是Block Block是将函数及其执行上下文封装的对象。 __block_impl结构体内部中有isa,说明Block本质是OC对象。 二、Block变量截获 局部变量(对象)截获是值截获。比如: NSInteger num = 1; NSInteger(^block)(NSInteger) = ^NSInteger(NSInteger n) { return n * num; }; num = 2; NSLog(@"%zd",b

石头哥的博客 242

SPAD IMX479规格_VOP

对于VOP的定义,很多人可能是不理解这一路的供电,实际上这一路供电是非常重要的,这是给器件SPAD供电,决定SPAD是否work,在大部分的paper以及大部分公司,基本都是叫VOP,名称是SPAD breakdown voltage power supply,严格意义上叫Operating Voltage,工作电压。当然有些公司也有一些其他叫法就不提了。其实大家可以明显的看出,典型值-20.5没有发生变化,市面上绝大多数VOP的典型值也都是在-20V这边。

致力于lidar应用开发 701

Python面向对象编程

1.类的定义: class &lt;类名&gt;: &lt;其他语句&gt; class &lt;类名&gt;(父类名): &lt;其他语句&gt; 例如: class Father: _age=22 _name="sunny" class Son(Father): _work="IBM" son=Son() print...

wjy320的专栏 174

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Objective_C学习笔记(2)类的使用学习概要

一、类的声明、实现以及使用文件相分离。与java中类相比较,Objective-C中类分为三部分: interface声明部分, implementation定义部分, 使用部分。在大型的程序文件中,应该遵循使程序的声明、实现文件以及其使用的程序文件相分离。interface部分的文件名为className.h。implementation部分的文件名为className.m。 如图所示: 二、合

ZouYingJieLun的专栏 718

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

一篇就带你读懂关于block的变量捕获(capture)

上面一节讲解了block的本质,举例了block最简单结构的一种情况。如果更复杂了呢。比如block函数执行调用外部参数,会有哪些情况呢?不同的情况,他们又有什么异同点呢?这里先把分析结果写在最前面,不懂的可以先跳过,看下面的正文每一个情形有底层结构分析。如果能看明白的,可以不看下面的正文,说明你已经很清楚 block 变量捕获机制了: 1、block变量捕获机制(capture) 1、捕获(capture):是指在 block 内部会专门新增一个成员变量,来存储传进来的值。或者说将外面的值捕获到 bl

chenzimin_blog 2472

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

python 全栈开发,Day17(初识面向对象)

python 全栈开发,Day17(初识面向对象) 一、引子 第一次参加工作,进入了一家游戏公司,公司需要开发一款游戏《人狗大战》一款游戏,首先得把角色和属性定下来。 角色有2个,分别是人和狗属性如下:人 :昵称、性别、血、攻击力狗 :名字、品种、血、攻击力 定义2个字典 #人 person = {'name': 'xiao_M...

shykevin的博客 262

PHP2:语法结构

PHP2:语法结构 数值与字符串 整数,实数,字符串 PHP浮点数的取值范围和C语言的DOUBLE双精相同,如果浮点数不到10E16,而且没有小数部分,则显示时会按整型的样子显示出来。这时要注意,它的内部是浮点型而不是整型。 小数表示法:888.8 字符串:单引号串,双引号串,反引号串,转移字符(""双引号,""反斜线,"n换行,"tTAB) echo "path=$PATH";   ...

weixin_34005042的博客 101

Objective-C 学习第四天

一、 Xcode文档的安装 1). Xcode文档提供了很多框架, 框架当中有很多类和函数, 提供的一些数据类型. 2). Xcode文档需要单独安装. a. 在线安装: Xcode-&gt; Preferences...-&gt;Downloads-&gt;Xcode文档 b. 离线安装: 路径:/Applications/Xcode.app/Cont...

mazaiting的博客 147

python第七天学习总结

1.接口类和抽象类是一种:是一种规范,写代码时的规范class QQpay:def pay(self,money):print('您已经通过qq支付了%s元' %money) class Alipay:def pay(self, money):print('您已经通过支付宝支付了%s元' % money) class Wechatpay:def fuqian(self, money): ...

weixin_34144848的博客 113

第7章 类(Objective-C程序设计)

7.1 分离接口和实现文件 通常,类的声明(@interface部分)要放在它自己的名为class.h的文件中,而类的定义(@implementation部分)通常放在相同名称的文件中,但扩展名要使用.m。通过在.m中导入.h文件,使编译器知道为当前类声明的类和方法,同时还能确保这两个文件的一致性。 需要注意,导入的文件要用一对引号“”引起来,而不是<>。双引号适用于本地文件,而不...

weixin_30624825的博客 85

rust-guide命名规范速查:用UpperCamelCase和snake_case写出可审计的安全代码

**rust-guide** 是法国国家网络安全局(ANSSI)发布的 Rust 安全应用开发指南,其中"命名规范"章节是保障代码可审计性的第一道防线:统一的 `UpperCamelCase` 和 `snake_case` 让读者与审计员一眼就能分清类型、函数和常量,从而快速发现被刻意隐藏的 `unsafe` 或可疑转换。 ## 为什么命名是安全代码的第一道防线 对安全软件来说,代码不只是给编

gitblog_00293的博客 1117

python中key的item是什么_[ python ] 反射及item系列

反射什么是反射?通过字符串的形式操作对象相关属性。python中的事物都是对象;关键方法:(1)getattr:获取属性(2)setattr:设置属性(3)hashattr:检测是否含有属性,返回布尔值(4)delattr:删除属性具体功能演示:classFoo:f= '类对静态变量'def __init__(self, name, age):self.name=nameself.age=aged...

weixin_39912580的博客 408
上一篇: 我对于调用对象和基本变量类型内存的运行机制理解
下一篇: PHP中继承的特点和规则总结
宇宙第一帅
博客等级 码龄12年 22粉丝 147原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值