游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

当了5年Java程序员,难道还说不清个static的用途吗?

  当了5年的Java程序员,难道还说不清个static的用途吗?
  你能全说出来吗?static用在哪里?
  下面我为大家提供一个速记的方式,包你记得牢牢的。
  首先我们先把一个Java类中所能存在的所有组件都罗列一遍(相信这对大家来说应该是轻而易举的事情),从上到下依次是:包定义导入模块类定义代码块变量常量构造器方法内部类
  其中可以被static修饰的组件为导入模块、代码块、变量、常量、方法、内部类,这几个部分。
  怎么样,我们只要在脑海中把一个Java类的所有组件过一遍,把其中可被static修饰的组件挑出来就好啦。
  至于static修饰各个组件的用途就取决于static单词的本意:静态。
  静态在Java中就是不变的意思,主要指的是存储位置不变。
  变化主要指创建类的一个新对象时,其内部包含的部分组件会重新在内存中分配创建,相对于已有的对象而言,这些部件的地址就是变化的。
  下面我们来看看这几个static修饰组件的用途
  静态导入importstaticjava。math。BigDecimal。;importstaticjava。math。BigDecimal。ONE;importstaticjava。math。BigDecimal。valueOf;
  如上所示,静态导入只能导入目标类中的静态部件,如静态变量、静态常量、静态方法等。
  如果按照第一行(1)所示的方式导入,则表示导入BigDecimal类中所有的静态部件,这些部件不必再用类名点用,直接使用就行,像第23行所示分别时单独导入一个静态常量和静态方法。packagecom。dh。base;importjava。math。BigDecimal;importstaticjava。math。BigDecimal。;importstaticjava。math。BigDecimal。ONE;importstaticjava。math。BigDecimal。valueOf;publicclassStaticTest{publicstaticvoidmain(String〔〕args){BigDecimalbdvalueOf(1);BigDecimalbd1ONE;BigDecimalbd2TEN;}}
  普通的导入只能导入具体的类
  静态代码块
  代码块就包括普通代码块和静态代码块两种。
  静态代码块是在类加载的时候被执行的,而且只会执行一次。
  也就是说静态代码块是跟着类走的,区别于普通代码块是跟着对象走的,每次创建一个新对象的时候都会执行一次。
  普通代码块主要作用就是为了初始化一些普通成员变量,或者做一些创建对象的前提工作。静态代码块则主要用于初始化一些静态成员变量,或者做一些类加载时的补充工作。
  静态变量
  修饰变量应该是static最常见的用途之一。
  被static修饰后的变量称为静态变量,一旦一个普通变量被static修饰,那么这个变量就会超脱于具体对象,称为类级别的存在。
  什么意思呢?简单说就是静态变量会在类加载的时候分配内存进行保存,而普通变量需要在创建对象的时候才会分配内存空间。
  静态变量属于类,可以使用类名点用的方法调用,即使不存在对应的对象,也可以直接使用,普通变量不可以,必须先有对象之后,通过对象来调用。
  静态常量
  常量和变量的区别仅仅是前者被final修饰。
  final表示最终,也有不变的意思,但这个不变指的是值得内容不变。
  常量一旦赋值,则值不再改变。
  普通常量与静态常量的区别与变量类似。
  普通常量在创建对象的时候分配空间保存,静态常量则是在类加载时进行空间分配。
  静态方法
  修饰方法同样是static最常见的用途之一。
  被static修饰的方法称为静态方法。
  静态方法同样属于类,普通方法属于对象。
  静态方法内部不能直接调用普通方法和普通变量,原因很简单,因为静态方法可以在不存在对象的情况下直接调用,此时没有对象,也就无法调用其名下的普通方法。而在普通方法中则可随意调用普通方法和静态方法。
  这就是一个简单的先后问题。
  静态内部类
  内部类包括成员内部类、静态内部类、匿名内部类、局部内部类四种。
  被static修饰的内部类称为静态内部类,主要与成员内部类进行区分。
  成员内部类是依赖于外部类存在的,其内部存在一个指向外部类的引用,内部只可以有非静态方法与变量,却可以调用外部类的普通变量与方法、静态变量与方法。
  静态内部类脱离了外部类,不存在指向外部类的引用,内部可以有静态方法与变量和非静态方法与变量,且只能调用外部类的静态方法与变量。
  二者的创建对象的方式也不一样。具体见下面代码:packagecom。dh。base;publicclassStaticTest{Strings1普通变量;staticStringsstatic变量;staticvoidstaticMethod(){BigDecimalbdvalueOf(1);BigDecimalbd1ONE;System。out。println(static方法);}voidmethod(){System。out。println(普通方法);}staticclassstaticInnerClass{静态内部类staticvoidinnerStaticMethod1(){静态方法s1111;调用外部成员变量错误method();调用外部普通方法错误s222;调用外部静态变量正确staticMethod();调用外部静态方法正确}voidinnerStaticMethod2(){非静态方法s1111;调用外部成员变量错误method();调用外部普通方法错误s222;调用外部静态变量正确staticMethod();调用外部静态方法正确}}classinnerClass{非静态内部类staticvoidinnerStaticMethod1(){}不能存在静态方法voidinnerStaticMethod2(){非静态方法s1111;调用外部成员变量正确method();调用外部普通方法正确s222;调用外部静态变量正确staticMethod();调用外部静态方法正确}}publicstaticvoidmain(String〔〕args){StaticTest。staticInnerClassstaticInnerClassnewStaticTest。staticInnerClass();静态内部类点用StaticTest。innerClassinnerClassnewStaticTest()。newinnerClass();非静态内部类new新建}}
  好了,就是这些东西,后面东西多了点,其实都挺好了理解,着重理解这个静态的概念就好了。
  有了后面的讲述,再结合一开始的速记法,就能够全面记住static的用法用途。

一只耳朵听力正常,另一只耳朵重度,需要配助听器吗?有必要戴助听器的,因为一只耳听力正常另一只听力不好的话,在听声的时候就会侧重于听力好的一边,时间长了之后听力差的一只就会越来越差。佩戴助听器可以延缓这种现象,并保护残余听力。……现在的小米10真的被用户遗忘了吗?测评手机:小米10测评内容:耗电与系统bug测评人:奶茶的数码众所周知小米10作为去年的小米旗舰机,去年在手机界知名度非常高。但是随着时间的推移,小米11系列……长安汽车华为宁德时代联合打造AB品牌将独立发展本报记者段楚婷赵毅深圳报道日前,重庆长安汽车股份有限公司(000625。SZ,以下简称长安汽车)、华为、宁德时代联手打造的高端新能源品牌(AB品牌)亮相在即的消息引发市场……华为鸿蒙商标申诉失败,爱国就要给鸿蒙让步?事件还原在最开始美国试图从核心供应链限制中兴,结果限制成功在2019年5月份又想通过同样的手段对华为进行施压试图掐断华为智能手机的全球供应。受禁令的影响美国企业及采……疫情大幅提振全球电子商务全球网上零售额占零售总额比例上升来源:经济日报经济日报中国经济网日内瓦讯(记者杨海泉)5月3日,联合国贸发会议发布题为《2019年全球电子商务评估和2020年新冠肺炎疫情对在线零售影响的初步评估》报告。……雷克萨斯电动车来了,性能不如特斯拉,颜值也不再惊艳如今,各大厂商的焦点已经从燃油车市场转向了新能源市场,但这当中也有一些转型较慢的选手。比如在豪华车市场极为强势,甚至价格比起BBA更加坚挺,也更具溢价空间的雷克萨斯,虽然有着独……比尔盖茨离婚,三个孩子1240亿美元如何分?21岁儿子豪宅照比尔盖茨离婚的报道小编的话:一觉醒来比尔盖茨离婚了,理由还很励志!当地时间5月3日,美国微软公司创始人比尔盖茨与梅琳达通过联合声明,宣布结束双方27年的婚姻,声明中称,他……霍老师谈CRM我独的家提出一关个于私域概的念:私域,是就微信CRM。CRM是什么?CRM就是客户关系理管。也就是说,私,域就是我们用信微来管理自己的客户包,括引流包,……想换购新机2500左右realme新款双十一划算吗?双11期间,各个品牌都会有促销,是购买手机的好时机,肯定比较划算,题主在红米K40和RealmeGTNeo2之间有点摇摆,我们可以先看看红米K40和RealmeGTNeo2的相……每个月的流量都用100G以上,选择中国移动的哪个套餐比较好?每月100GB以上的流量,建议还是办一条宽带比较好。除非你天天在户外办公,只能用流量。现在移动大流量套餐基本上都是100GB封顶,超过100GB限速到128Kbps,也就……微信大更新,终于加入了关怀模式和折叠群聊,还有这2个新变化微信foriOS又更新了,相较前几版本敷衍式的更新,这次的8。0。14版本应该可以算是近几个月最合心意的一次更新了。不仅带来了大家期待许久的关怀模式(老年模式)和折叠群聊功能,……要是十年一次的金融风暴来了,你第一件事是做什么?如果确定是金融危机,那么作为价值投资的拥护者,当然是到处找钱买买买,就像97金融风暴时期的韩国,新加坡和吉隆坡,前一天报纸报道了新闻,很多信奉价值投资的基金经理第二天已经落地在……
2021款本田奥德赛新车曝光外观内饰全面升级近日,从海外得到消息,2021款本田奥德赛新车在原有车型上进一步进行升级了外观套件,新车看上去更加具有豪华感。与现款车型相比,新款奥德赛的前脸变化明显,新车大灯造型更加规……数控采集004华中数控设备连接测试成功搭建好了项目之后我们就可以开始根据项目需求通过hncsdk来实现我们需要的功能,当然第一步我们要做的就是要连接上【华中数控】设备,查阅开发文档的时候我们可以找到【华中数控】提供……2020年中国AI医疗行业研究报告核心摘要:前言:本次AI医疗研究范畴仅限于围绕临床诊疗开展的核心医疗活动,包括CDSS、智慧病案、AI检查、AI新药研发及手术机器人。目前中国对AI医疗的需求逐渐扩大,而……小程序裂变有何优势?商家应该如何巧用小程序裂变?微信小程序只是给商家提供了一个搭建平台,而后期店铺的销量增长是需要商家巧用小程序系统工具才能实现的,不是搭建成功就万事大吉了。如果想要让小程序能够吸引更多的用户,就需要巧妙用好……Vue实战083几种常用的外部JS文件定义和引用方法详解在Vue项目中我们经常会将一些功能相似的且又常用的方法封装在同一个js文件中,这样可以方便项目的修改、维护、升级和代码复用。就比如我们常见的注册功能,就需要大量的校验工作。为了……27亿炒股骗局夫妻店正规军都玩了些什么套路?在华讯投资登陆新三板的多年前,老板就已经通过华股财经网站荐股骗钱了,这样的套路,被照搬到了华讯股票上,但直到现在才被彻底揭露。本文由无冕财经(wumiancaijing)……任天堂叫停抄袭马里奥NFT游戏东方最强法务部出击对于最强法务部任天堂的印象,在以往一直是为了保护版权而打压粉丝创作积极性。然而作为一家拥有世界著名游戏IP的开发商,难免就会有人碰瓷。由于区块链的NFT兴起,一个名叫1UP的平……小米超高端用户开机广告?最终还是不能免俗前期壶哥给大家分析了一下目前的国内电视机厂家仅能做点硬件代工,大把的业务体验和收益,实际上都被海外的电视系统平台赚走了。而国内小米又在5的硬件利润把大家搅得鸡飞狗跳,用开机广告……五大要素快速了解功放前级后级纯后级合并式在上一期的推文中,《名词全解!五大要素快速了解功放(之一):HIFIAV功放》给大家介绍了何为HIFI功放AV功放。而另外一个相对经常听见的概念是前级、后级、纯后级、合并……2021中秋之夜中秋之夜远处蓝翔挖掘机停止了运行人们也不再喧闹微风徐徐掠过树面蛐蛐愈加高调一轮皓月当空天空深邃如镜我举起水杯却见月光满庭我……CR7总裁主题游戏主机影驰图灵RTX2080GAMER装机体这次给大家带来的这台CR7的电脑主机,严格来说,本来自己只是想升级到最新的图灵显卡,然而观望目前上市的2080级别的显卡里头,能看对眼的,块头都挺大的,之前的ITX机箱肯定是驾……全球首家几何汽车品牌形象店几何空间,落户深圳南山粤海街道办【新车资讯】深圳南山区是中国高新企业最集中,高新产值最高的区域,粤海街道办又是核心中的核心,2019年12月5日几何汽车全球首家品牌形象店几何空间在创业路3023号公园一号广场……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网