Java入门:08.Java中的static关键字01

1 static关键字

  • 可以修饰属性变量,方法和代码段

    • static修饰的属性称为静态属性或类属性, 在类加载时就在方法区为属性开辟存储空间,无论创建多少个对象,静态属性在内存中只有一份。

      可以使用 类名.静态属性 的方式引用

    • static修饰的方法称为静态方法或类方法,在类加载时就在方法区中开辟存储空间,存储方法中信息,在调用静态方法时,不会默认传递this参数。

      可以使用 类名.方法() 的方式引用

    • static修饰的代码段称为静态代码段,在类加载时就自动执行,且仅执行一次。

      一般初始化操作可以写在静态代码段中。

1.1 对象属性与静态属性

对象属性:

class A{
    int i ;    
}
​
class Test{
    main(){
        A a= new A();
        a.i = 10 ;
    }
}

静态属性

class A{
    static int i ;
}
​
class Test{
    main(){ 
        A.j = 20 ;
    }
}
  • 对象属性:只有创建对象,才能引用。

  • 静态属性:可以通过类名直接引用。不需要创建对象。 通过对象也可以引用。

    类加载时开辟存储空间, 只有一份, 可以数据共享。

1.2 对象方法与静态方法

特点1

无论是静态方法还是对象方法,都是在类加载的时候,就在方法区中分配了存储空间

无论创建多少个对象,方法在内存中只存储一次。

特点2

在使用上, 对象方法的使用,必须先创建对象,才能调用。

而静态方法,可以通过类名直接调用

特点3

尽然对象方法在内存中只有1份,怎么做到不同对象调用,可以访问不同对象的属性呢?

  • 当通过对象调用对象方法时,会默认传递一个参数,这个实参就是当前对象的地址。这个形参就是this

  • 当通过类调用类方法时,就不会传递对象地址(此时没有对象),静态方法也没有this这个默认参数

简单来说,对象方法和静态方法的区别就在于是否需要引用对象自己的属性变量。

扩展1

静态方法中,不能使用this关键字。(压根就没有)

静态方法中只能直接使用静态成员(属性和方法),不能直接使用非静态成员。

在对象方法中,可以使用对象成员,也可以使用静态成员。

扩展2

对象方法中会有一个默认的参数叫this,存储的是调用当前方法的那个对象的地址

所以可以通过this,访问指定对象的属性。

默认情况下,访问对象的属性和其他方法时,jvm会自动的根据this的地址访问,而不需要编码时必须使用this关键字

class A{
    int i  ;
    public void t1(){
        i = 20 ; //等价于 this.i = 20 ;
    }
}

什么情况下必须写this呢?

  1. 局部变量与属性变量同名时,默认引用的是局部变量

  2. 调用重载的构造方法的时候

扩展3

方法到底是如何起作用的,以及有与属性同名的变量和没有同名变量的引用过程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/874544.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

无人机动力系统设计之桨叶推力计算

无人机动力系统设计之桨叶推力计算 1. 源由2. 关键参数2.1 特性参数2.1.1 材质(Material)2.1.2 叶片数量(Number of Blades)2.1.3 重量(Weight)2.1.4 噪音水平(Noise Level) 2.2 安装…

一文为你详解期权波动率是什么?

今天期权懂带你了解一文为你详解期权波动率是什么?采用合适的期权组合来对冲或利用波动率变化带来的机会。不同策略适用于不同的市场条件和投资目标。 期权波动率 假如我们为地震灾害去买一份保险,你认为什么样地震的保险费会更贵呢,是深圳…

备忘录模式memento

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/memento 允许生成对象状态的快照并在以后将其还原。备忘录不会影响它所处理的对象的内部结构, 也不会影响快照中保存的数据。

2024年湖北交安ABC公路安全员C证报考今时不同往日

2024年湖北交安ABC公路安全员C证报考今时不同往日 之前的交安ABC,你爱搭不理,现在的交安ABC,你高攀不起。真的应了这句话。所以建筑行业考证要趁早,别等要求严了你想报却缺东少西的。湖北交安ABC大变天了。 2024年之前报考湖北交…

初识Maven:Java项目管理工具

实际开发中,伴随着项目规模的增长,依赖管理和构建自动化变得至关重要,一套标准化的项目结构有助于更好的开发项目、简化这项任务(真的不是强迫症) Maven,作为 Apache Software Foundation 维护的项目管理工…

【Unity面经】性能优化篇

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 专栏交流🧧&…

SpringBoot开发——整合Logbook进行HTTP API请求响应日志输出

文章目录 1. 简介依赖管理2. 实战案例2.1 基本用法2.2 结合Logback日志记录到文件2.3 自定义核心类Logbook2.4 自定义日志输出Sink2.5 与RestTemplate集成1. 简介 记录HTTP API请求响应日志对于监控、调试和性能优化至关重要。它帮助开发者追踪API的使用情况,包括请求来源、参…

2010-2022年各省乡村振兴新质生产力相关变量数据(40+指标)

2010-2022年各省乡村振兴新质生产力相关变量数据(40指标) 1、时间:2010-2022年 2、来源:统计年鉴、能源统计年鉴、农村统计年鉴、人口和就业统计年鉴、城乡建设统计年鉴以及各省份统计年鉴 3、指标:省份、年份、分地…

洗袜子的小洗衣机哪款好?专洗袜子的微型洗衣机!洗衣机不要乱选

袜子洗衣机大多数都为迷你洗衣机,因为这是解决了用大洗衣机去洗袜子而大材小用的情况,同时袜子清洗的数量比较少(满打满算一周的袜子5双,用迷你洗衣机清洗是绰绰有余的)而现在也很多人为了洗袜子专门买一个迷你洗衣机&…

[论文笔记]LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale

引言 今天带来第一篇量化论文LLM.int8(): 8-bit Matrix Multiplication for Transformers at Scale笔记。 为了简单,下文中以翻译的口吻记录,比如替换"作者"为"我们"。 大语言模型已被广泛采用,但推理时需要大量的GPU内…

【Hadoop|MapReduce篇】MapReduce概述

1. MapReduce定义 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。 2. Map…

丹尼尔·T·琼斯:为什么精益管理是卓越的商业模式?

作者:丹尼尔T琼斯 原文:Why Lean Remains a Superior Business Model and Way of Thinking - Lean Enterprise Institute 精益商业模式提供了一种不同于传统思维的选择,帮助企业在满足客户需求方面超越竞争对手,从而获得竞争优势…

安卓玩机工具-----ADB方式的刷机玩机工具“秋之盒”’ 测试各项功能预览

秋之盒 安卓玩机工具-秋之盒是一款ADB刷机工具箱,基于谷歌ADB的一款绿色安装,具备了海量扩展模块,支持ADB刷机救砖、一键激活黑域、adb指令修复等功能,是一款开源、免费、易用的手机刷机工具! 并且是一款开源、免费、易用的图形化…

【每日刷题】Day118

【每日刷题】Day118 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 123. 买卖股票的最佳时机 III - 力扣(LeetCode) 2. 188. 买卖股票的最佳时…

Ai+若依(集成easyexcel实现excel表格增强)

EasyExcel 介绍 官方地址:EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 官网 Java解析、生成Excel比较有名的框架有Apache poi、jxl。但他们都存在一个严重的问题就是非常的耗内存,poi有一套SAX模式的API可以一定程度的解决一些内存溢出的问题,但POI还是有一…

运维问题0002:SAP多模块问题-SAP系统程序在执行时,跳出“加急快件”窗口,提示:快件文档“更新已终止”从作者***收到

1、问题描述 近期收到2起业务报障,均反馈在SAP执行程序时,弹出“加急快件”窗口,导致操作的业务实际没有更新完成。 1)业务场景一:设备管理部门在操作事务代码:AS02进行资产信息变更时,保存正常…

当代打工人学会AI绘画之后,到底可以做什么?

Lofi Girl,一个油管拥有1,400万粉丝的虚拟博主,她的直播视频一般是柔和的背景音乐加上简单的循环动画,这样一个陪着你一起学习的虚拟女孩卡通频道,已经成为了全球无数网友的“精神伴侣”。 但你可能想象不到,就这样的一…

大模型算法岗,面试百问百答,7天3个offer拿到手!

导读 大模型时代很多企业都在开发自己的大模型,这直接刺激了大模型岗位的需求。本文为大家整理了大模型面试相关的知识点,希望对大家面试求职有所帮助。 今天分享大模型面试相关知识点,持续更新。 1. RAG技术体系的总体思路 数据预处理->…

Tube Qualify三维弯管测量系统用于弯管机修正弯管回弹参数

无论是汽车管路,还是航空管路,在采用弯管机弯曲成型时,金属材料受力变形,弯曲成品。当外力撤消后,管路会受到应力回弹,实测管路弯曲角度比所需弯曲的角度小。 弯曲不同的材料、不同的直径、不同的弯曲半径…

开源网安斩获CCIA中国网络安全创新创业大赛总决赛三等奖

近日,由中央网信办指导,中国网络安全产业联盟(CCIA)主办的2024年中国网络安全创新创业大赛总决赛及颁奖典礼在国家网络安全宣传周落下帷幕。开源网安“AI代码审核平台CodeSec V4.0” 凭借在AI方向的技术创新、技术突破及功能应用创…