类与对象——static关键字

谈谈JAVA中对象和类、this、super和static关键字 理所当然往往是我们所忽视的 阅读详情

static(与对象无关)的两种用法:
1.修饰本类属性
也称为静态属性(类属性),所有对象共享此属性值!

举个栗子:

class Person{
     private String country;
     private String name;
     int age;
     public void getPersonInfo(){
     	System.out.println("姓名:"+this.name+",年龄:"+this.age+",国籍:"+this.Country);
     }
}
public class Test{
	  public static void main(String[] args){
	  	Person per1=new Person();
	  	per1.name = "张三";
	  	per1.age=20;
	  	Person per2=new Person();
	  	per2.name = "李四";
	  	per2.age=30;
	  	per1.getPersonInfo();
	  	per2.getPersonInfo();
	  }
}

内存图如下:
在这里插入图片描述
传统属性保存在堆内存中,每个对象独享属性
若想描述共享属性,在属性前加static关键字即可,static属性(类属性)保存在全局数据区的内存之中,所有对象都可以进行该数据区的访问。
修改上述代码为:

static String Country = "中国";

此时内存图为:
在这里插入图片描述
访问静态属性应使用类名称.属性名

2.修饰本类方法
使用static修饰方法,称为类方法,直接通过类名称调用,与对象实例化无关

**静态方法常见于工具方法
eg:java.util.Arrays.sort();

三连问:
静态方法能否访问类中普通属性?一定不能,因为静态家族和对象无关,普通属性和对象强相关。
静态方法能否访问类中静态属性?一定可以,都和对象无关
普通方法能否访问类中静态属性?一定可以,所有对象共享静态属性

class Person{
	private static String country;
	public static void setCountry(String c){
		country=c;//静态方法访问类中静态属性
	}
}

注意:
*所有的static方法不允许调用非static定义的属性或方法
*所有的非static方法允许访问static方法或属性

PyTorch 面试题及参考答案(精选100道) 模块是 PyTorch 中用于自动求导的核心模块。它为张量上的所有操作提供了自动求导的功能。在深度学习中,反向传播是一种用于计算损失函数相对于模型参数的梯度的算法。通过梯度,我们可以使用优化算法(如随机梯度下降)来更新模型的参数,从而最小化损失函数。模块的主要作用就是自动计算这些梯度。当我们创建一个张量时,如果将其属性设置为True,那么 PyTorch 会跟踪该张量上的所有操作。在完成前向传播计算出损失函数后,调用方法,模块会自动根据链式法则反向传播计算出所有需要求导的张量的梯度。 阅读详情

相关推荐

周志华《机器学习》课程系列笔记——目录导航页

最近自学机器学习课程,注意到了南京大学周志华老师的课程。我是在学堂在线平台观看的,注意到b站上也有相应视频,但b站上并未获得授权,随时有消失的可能。周志华老师的网络教学视频中,与其西瓜书相比确实少了一些内容。但幸运的是,缺失的内容实际上对于初学者来说并不会产生太大影响。目前这一笔记也遵循视频内容,相比西瓜书中也会有一些缺失,敬请谅解。可能以后如果有机会和时间,我会再阅读周志华老师的书籍将缺失内容补全。一切内容敬请关注我的个人Page页面。

Sinocifengs的博客 1688

static对象

static对象:一旦被创建,就一直存在,直到程序退出。 根据静态对象的位置不同,可以分为两类:non-local static object与local static object 具体来说: local static object:指函数中用static修饰符修饰的object 生命期起始时间:在函数第一次调用时构造初始化。 生命期终止时间:程序结束 non-local stati

思考,思考,再思考~ 4511

一窥Memory测试算法及自我修复机制

摘要 为了满足新一代设备的需求,Memory的大小每三年就会增加4倍。深亚微米设备包含大量面积更小、访问速度更快的Memory。针对此类设计制定自动测试策略可以减少ATE(自动测试设备)的时间和成本。 内存故障的行为与经典的“Stuck-At”故障不同。因此,Memory的故障模型(由于其阵列结构)与标准逻辑的设计也是不同的。Memory测试除了进行故障检测和定位,还可以实现用冗余单元对...

路科验证 2万+

C++ 中 static 静态对象的使用总结

C++ 中 static 静态对象的使用总结

编程猿来如此 7580

CSM中一些常见问题的解决方式

CSM中一些常见问题的解决方式 抖动 摄像机在每帧移动或者旋转时,会产生较严重的抖动问题。

小龙虾的博客 2130

深入解析AMBA5 AXI与ACE协议:从基础到高级应用

本文深入解析了AMBA5 AXI与ACE协议的核心机制与应用。AXI协议通过分离通道、突发传输和乱序完成实现高性能数据传输,而ACE协议在此基础上构建了硬件级缓存一致性解决方案,通过监听机制和状态模型确保多核系统数据统一。文章还探讨了在异构计算等复杂场景下的实战应用与AMBA5的新特性。

cc789的博客 963

【C++基础篇】学习C++就看这篇--->类和对象之static成员、友元、内部类、匿名对象

C++ 中的 static 成员、友元、内部类和匿名对象各有特点。static 成员为类所有对象共享,需类外定义;友元包括友元函数和类,可突破封装访问私有成员,但也增加耦合度;内部类定义在外部类内部,但独立于外部类,可访问外部类 static 成员;匿名对象无名称,表达式结束时自动销毁。

熬夜秃顶中...... 1779

Jetson Orin NX 单目标跟踪算法实战

本文对比了NanoTrack和MixFormerV2两种目标跟踪算法在Jetson Orin NX边缘设备上的实际表现。通过天空小目标跟踪场景测试发现,NanoTrack虽然表征能力较弱,但具有目标身份一致性强、失败模式可控、计算负担小等优势,更适合作为边缘端默认算法。MixFormerV2则适用于高速运动等特定场景。实验数据显示NanoTrack在Orin NX上可达200FPS,远高于MixFormerV2的38-120FPS。建议先采用NanoTrack构建稳定系统,后续再评估复杂算法的适用性。

karmueo46的博客 625

面向对象——static

Java语言是面向对象的编程语言,所以面向对象在Java中占据重要地位。static。static 关键字,可以修饰变量、方法和代码块。在使用的过程中,其主要目的还是想在不创建对象的情况 下,去调用方法。

weixin_46703164的博客 445

使用C# HslCommunication库实现三菱PLC通信(含完整代码示例)

在工业自动化开发中,上位机与PLC的通信是关键环节。HslCommunication库是一个开源的.NET工业通信库,支持三菱、西门子、欧姆龙等多个品牌PLC的通信协议。本文将演示如何通过库实现C#程序与三菱PLC的通信,并提供完整的代码示例。

StevenChen的博客 2290

面向高速Serdes的信号完整性优化:从封装 - 板级互连局限到封装内互连技术演进(一)

本文针对高速SerDes互连链路中的关键电磁效应展开研究:1)揭示了封装-主板互连结构在毫米波频段易激发谐振效应,导致53GHz传输陷波和阻抗偏移;2)提出基于本征模分析的谐振抑制方法,通过优化接地过孔排布使带宽突破95GHz;3)系统比较了方形/六边形BGA排布下23种差分对朝向的串扰特性,证实六边形阵列可将功率和串扰降低30%以上;4)论证了100GHz以上带宽需采用封装内互连架构,其较传统方案减少50%阻抗不连续节点。

小孟同学的博客 231

Java面向对象,类以及static关键字

​ 访问权限修饰符 修饰符 class 类名{}​ public访问权限修饰符修饰的类类名和文件名必须相同由于构造方法不能被子类所继承,而且使用final关键字修饰的方法不能被重写,所以使用final关键字修饰构造方法是没有意义的使用abstract关键字修饰的方法没有方法体,需要由子类重写来实现,但是由于构造方法不能被子类所继承,也就无法实现父类的构造方法,所以无法使用abstract关键字修饰构造方法。

qq_52391639的博客 198

海康视觉算法平台VisionMaster 4.3.0 C# 二次开发01 加载方案并获取结果

第一次使用海康视觉算法平台VisionMaster 4.3.0,项目中要使用这个平台进行视觉处理并获取结果。

StevenChen的博客 7875

类和对象(2)—— 封装:static关键字、代码块、包和import关键字、对象的打印

封装是面向对象编程(OOP)中的四大基本特性之一,它通过将数据(属性)和操作数据的方法(行为)捆绑在一起,形成一个独立的单位——类。封装的目的是隐藏对象的内部实现细节,控制对对象的访问级别,并提供一个可以访问该对象的接口。这样,外部代码只能通过这个接口与对象交互,而不能直接访问对象的内部状态,从而保护了对象的内部状态不受外部干扰和误用。

2301_80030290的博客 1278

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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

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

Java 核心基础:类与对象、static、this、final关键字

int age;// 成员变量:年龄// 创建3个Animal对象// 给Animal1、Animal2设置年龄// 输出年龄// 2// 3// 0我们可以看见,最后输出的时候,animal1,animal2,animal3分别输出2,3,0。很明显animal1和animal2各自拥有独立的,不同于animal的age变量。即使animal3未赋值,它也有默认的age,是0;类是 “模板”,定义了对象的结构:包含哪些属性(变量)和行为(方法)。例如Animal。

2301_81258465的博客 718

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

02类与对象03_this,static关键字

对象创建的过程 分配对象空间,对成员变量初始化 执行属性值的显式初始化 执行构造方法 返回对象地址的相关变量 this关键字 本质是创建好的对象的地址 不过构建方法调用前,对象已经创建,在构造方法中,this指代当前对象。 this最常的用法: 在程序中产生二义性之处,应使用this来指明当前对象; 普通方法中,this总是指向调用该方法的对象。 构造方法中,this总是指向正要初始化的对...

水手的博客 136

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Java基础----类与对象,static关键字

什么是java类类是构建对象的模板:一个类可以创建多个对象,每个对象的数据的最初来源来自对象,类定义了对象的结构。class示例使用类创建类之后,你可以通过创建该类的对象来使用它。这涉及到使用new关键字和类的构造器来实例化对象。new关键字,开辟内存空间创建对象的实例。构造器(构造方法)作用:在创建对象的时候为对象分配内存并给对象的变量赋初始值。示例。

jlihan的博客 1万+

Java---类和对象,static关键字,封装,this关键字

1.面向对象程序设计概述 面向对象程序设计(简称OOP)是当今主流的程序设计范型,它取代了20世纪70年代的“结构化”过程化程序设计开发技术。C语言是面向过程的编程语言,而Java/C++是面向对象的编程语言(对象 + 行为 + 对象),就是一个对象发出,然后作用于另外一个对象或某些对象。 面向对象的程序是由对象组成的,每个对象包含对用户公开的特定功能部分和隐藏的实现部分。程序中的很多对象来自标准库,还有一些是自定义的。只要对象能够满足要求,就不必关心其功能的具体实现过程。 面向过程:1.把冰箱打开2

jaygegeg的博客 637

类和对象(类和类的实例化,this,static关键字,封装)

这里写目录标题类和对象的初步认识面向对象和面向过程类和类的实例化类的成员方法 (method)static 关键字二级目录三级目录 类和对象的初步认识 类就是一类对象的统称。对象就是这一类具体化的一个实例。类是对对象特征的大致描述,类就是类型,表示这一类对象,通过这种类型可以定义很多的对象。如人类这种类型,有姓名,身高,体重,性别,肤色等属性,那么通过这种类就可以定义对象了,对象就是人,这些人,可以是吴签,易烊千玺,毛不易,张三,李四等。这些人,有些能唱歌,跳舞,有些能打球,学习什么的。 面向对象和面向过

weixin_47792933的博客 696

学习Static-Java类和对象之static关键字之求圆环面积和周长

static 关键字 静态变量 静态方法 静态常量 static 关键字 static 关键字可以用来可以用来修饰类的属性或者方法。例如我们之前学习的静态变量、静态方法等。 当属于同一个类的所有对象出现共享数据时,就需要将存储这个共享数据的成员用 static 修饰。例如:在我们之前学习的 Person 类中,对象“张三”有两个眼睛一个嘴巴,而其它的对象同样有两个眼睛一个嘴巴,也就是说这个属性的资源是被共享的,是属于这个类的,并不单单是属于某个对象的,我们可以将其设置.

weixin_63070960的博客 1613

类与对象,构造器,this和static关键字及块

类与对象,构造器,this和static关键字及块 类 描述具体事物一系列共同拥有的特性,是具体事物的模板,图纸 自定义类 当java本身提供的功能类不足以支持业务时,需要自定义类 自定义类由属性与方法组成: 修饰符 类名{ ​ 数据类型 数据名; ​ 修饰符 返回值类型|void 方法名([参数]){ ​ 方法体 ​ return 返回值; ​ } } /* 自定义电脑类 1.所有电脑的...

isWaynenewlife的博客 176

《JAVASE系列》类和对象篇:static关键字

《JAVASE系列》类和对象篇:static关键字 文章目录《JAVASE系列》类和对象篇:static关键字前言1.为什么要static关键字?2.static修饰成员变量3. static修饰成员方法4.static 相关: Jvm虚拟机的小小扩展总结: 前言 本章学习内容: static关键字的作用 如何使用static 深入理解静态变量/方法在jvm的内存分配 1.为什么要static关键字? ​ 当我们在创建对象的过程中,如果每个对象都有共用的特性,我们即便知道也需要一个个得去初始化,这

simple_person的博客 669

3、类和对象、static关键字和5种对象的创建方式

3.1面向对象思想、类和构造器 面向对象程序设计(OOP)Object Oritend Programing是当今主流的程序设计规范,它已经基本取代了结构化、过程化的程序设计。封装、继承之后,面向对象的第三大特性。 Java就是面向对象的,使用java开发程序,不管做什么样的操作,我们第一步都是从创建对象、获取对象开始,有了对象我们就可以完成一切我们所需要的程序了。 Java语言是一种面向对象的程...

qq_44749398的博客 740

Java 06 类与对象 类的定义 对象的创建 方法的调用 变量的作用域 this关键字 static关键字

1 类的定义 类的定义使用class关键字,具体结构如下: 格式: [修饰符] class 类名 { 属性定义(声明);//共有的特性 方法定义(声明);//一系列动作 } 注:[ ]表示可以省略 修饰符的作用是用来限定类的使用方式。其中: public:指明此类为公有类; abstract:指明此类为抽象类; final:指明此类为终结类。 在类的内部可以包含多个属性和方法。 例如: class Employee { //属性声明 String name; int age; doubl

qq_740785701的博客 968

4.类与对象(下篇)explicit关键字、static关键字、友元函数、内部类、匿名对象。拷贝对象时编译器优化

4.类与对象(下篇)explicit关键字、static关键字、友元函数、内部类、匿名对象。拷贝对象时编译器优化

Q2691463021的博客 723
上一篇: 类与对象——this关键字
下一篇: 网络基础1——TCP/IP协议 数据包的封装与分用
Lefdr
博客等级 码龄9年 16粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值