当前位置: 首页 > news >正文

济南做网站建设的公司网站优化的方法与技巧

济南做网站建设的公司,网站优化的方法与技巧,wordpress $ order点击数,国内新冠最新消息在我们讲构造函数的时候,我们知道,如果同时在java的堆内存当中,同时存在好几个刚进内存,但是又没来得及初始化的同一个类的对象。在这种情况下,那么如何去区分栈内存当中的构造函数是属于那个对象的呢,其实…

在我们讲构造函数的时候,我们知道,如果同时在java的堆内存当中,同时存在好几个刚进内存,但是又没来得及初始化的同一个类的对象。在这种情况下,那么如何去区分栈内存当中的构造函数是属于那个对象的呢,其实从底层上来讲的话,JVM已经为我们分好了,然后给了我们一个this,这个this是一个关键字,也是区分调用该构造函数的时候,此时的构造函数的所属对象是谁。

 

示例:

class ThisDemo
{int num;String name;ThisDemo(int n){num = n;}ThisDemo(String s){name = s;}ThisDemo(String s,int n){name = s;num = n;}void sayDemo(){System.out.println(num+"----"+name);}}class ThisDemoR
{public static void main(String[] args) {ThisDemo ts = new ThisDemo(10);ThisDemo ts2 = new ThisDemo(10);ts.sayDemo();}}

  

这个就作为我们讲解this的基本代码。

但是如果我们对第二个构造函数稍做修改的话,比如:

	ThisDemo(String name){name = s;}

  我们改成这个样子,那么调用这个构造函数的时候会发生什么呢?我们用一个内存图来描述下:

这个时候我们得出了什么结论,很明显嘛,当你传的参数值,跟你的成员变量名字相同的时候,你做就是一次无用功啊,java是伟大的,他给我们提供了一个关键词附带着方法,此时我们只需要让这个同名的name指向堆,这个时候,赋值就会赋给堆中的变量了。代码怎么体现呢?

	ThisDemo(String name){this.name = name;}

  这里this的作用是区分栈内存的同名变量,意思是指我的这个变量是在堆内存当中的,你要去堆内存找才可以,并且要看好了,我是属于某某的别找错了。这个就是this的一个作用。

  

  另外一个要提到的就是我们当构造函数调用构造函数的时候,应该怎么写,这个时候对象都还没有初始化呢?比如在第三个构造函数当中,我们知道他的作用就是初始化num还有name,但是前面的两个构造函数这些都已经声明过了,这里我们再声明一遍的话就略显重复了,我们来修改一下,让第三个构造函数通过调用前两个构造函数来实现他原先的功能。大家第一个想到的可能是这么写:

	ThisDemo(String s,int n){//this.ThisDemo(int n);//书写错误,函数内不能声明函数//this.ThisDemo(String s);//同上/***如果这个样子调用的话会提示,找不到方法ThisDemo(int),为什么会这么提示呢,因为类似于this.变量名的这种*调用格式必须要在对象初始化完成之后才能够调用,在未初始化,但是又调用的时候就会报找不到方法这种错误*///this.ThisDemo(n);//反例反例反例反例//this.ThisDemo(s);/***正确的初始化方法是直接用this,为什么直接用this可以呢,因为这里的this()这里就是深一层的对象初始化,因为他后*面直接跟的是参数,就是给这个正在初始化的对象说,兄弟,先把这个初始化完成,完成之后咱再继续,就相当于this*在初始化之前,调用初始化函数,但是在初始化函数返回对象之前,内部又调用了一次初始化,将内部初始化完成之后的对象*返回给现在正在执行初始化的构造函数,让她继续去初始化。完成后返回一个对象*/this(n);//这个才是正确的/***这里还需要注意的一点就是,这两个初始化语句的顺序问题,如果我们把下面的这条语句挪到上面来,会出现什么,艹了,会出现错误啊*为么?你初始化都没完,自然没有返回对象,没有返回对象还调用个毛啊,上面都说了,this.成员 这种调用方法只能在对象已经存在的*情况下才可以使用,没存在没法使用的*/this.name = s;//ThisDemo(String s);}

  

转载于:https://www.cnblogs.com/sunchuanzhen/p/3330673.html

http://www.lbrq.cn/news/2538001.html

相关文章:

  • 烟台做网站系统免费b站推广网站在线
  • 个人网站开发毕业论文培训后的收获和感想
  • 廊坊网站制作费用国外网站制作
  • 上市公司网站推广方案全国最新实时大数据
  • 重庆巴南网站建设小程序开发收费价目表
  • 晋城两学一做网站搜索引擎优化的简写是
  • 怎么把做的页面放到网站上今日热点新闻事件摘抄50字
  • 大兴企业网站建设公司百度搜索引擎平台
  • 织梦修改网站背景颜色个人在线网站推广
  • 网站加水印每日重大军事新闻
  • 西安公司注册代理资源网站优化排名软件
  • 做平面素材比较好的网站企业管理软件管理系统
  • 如何访问自己做的网站如何制作一个简易网站
  • 安徽网新网站建设jsurl转码
  • 湖北鄂州疫情最新情况东营seo整站优化
  • wordpress 自动生成文章小学生班级优化大师
  • 购物网站,购物车界面如何做微信公众号推广2元一个
  • 网站内部链接怎麽做免费网站站长查询
  • 网站建设简介东莞百度网站排名优化
  • 企业怎么搭建网站seo短视频网页入口引流网站
  • wordpress简体转繁体seo优化自学
  • .design 域名的网站广告投放网站
  • 请问网上有没有比较好的网站可以做照片书的呀?要求质量比较好的!google seo怎么优化
  • 扬州哪里做网站seo软件全套
  • 网站seo如何做sem优化是什么意思
  • 便宜做网站8818站长之家素材网站
  • 搭wordpress用什么下载班级优化大师并安装
  • 网站开发与建设方向数据平台
  • 中国手表网站南宁网站建设服务公司
  • 做色视频在线观看网站网站建设开发
  • vscode的Remote-SSH插件配置SSH主机方法
  • OpenVLA复现
  • 在linux(ubuntu)服务器上安装NTQQ并使用
  • OAuth 2.0 的安全升级版授权协议 OAuth 2.1 详解
  • 【深度学习②】| DNN篇
  • 让 OAuth 授权码流程更安全的 PKCE 技术详解