首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

"return new A()"和"return a = new A()"之间的区别是什么?

这两个表达式的区别在于它们的返回值和内存分配。

  1. "return new A()":这个表达式创建了一个新的A类的实例,并将其返回。但是,由于没有将其分配给任何变量,所以在方法执行完毕后,这个实例将被丢弃,无法再次访问。
  2. "return a = new A()":这个表达式也创建了一个新的A类的实例,但是在返回之前,将其分配给变量a。这意味着在方法执行完毕后,这个实例仍然可以通过变量a访问。

总的来说,这两个表达式的主要区别在于返回值的使用方式。在第一个表达式中,实例只能在方法内部使用,而在第二个表达式中,实例可以在方法外部通过变量a访问。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

return 0return 1return -1区别「建议收藏」

1、返回值int 类型函数返回: return语句用来结束循环,或返回一个函数值。 return 0:一般用在主函数结束时,按照程序开发一般惯例,表示成功完成本函数。...2、布尔类型返回: return 0:返回假; return 1:返回真; 一般这样函数用来实现一个判断是否逻辑,或检查有无数据。返回真表示“是”,返回假表示“否”!...使用return 语句可以返回一个变量内值或一个指针,也可用return0,表示返回为空。...return 代表调到函数外, return 0代表函数正常终止 return 1代表函数非正常终止 return 关键字作用是返回程序流程控制权!其副作用是返回一个值。...这个异常情况是什么那?

3.5K30

Javascript中ReturnReturn falseReturn true

Javascript返回值 Javascript中返回值总共分为四类: return; return false; return true; return variable(变量); 这四种返回值其实有很大不同...从代码输出结果可以看出,return;主要作用是阻止函数继续执行,直接返回undefined。 注:在Javascript中undefined == null,注意==与===区别。...3. return false return false介绍还是直接上代码: var i=(function(){return false;})(); alert(i); 运行alert(i)输出结果为...4. return true return true介绍也是上代码: var i=(function(){return false;})(); alert(i); 运行alert(i)输出结果为true...5. return variable return variable主要是在Javascript中定义一个变量,在函数中进行返回,与通常返回变量没有区别

2.2K10

Shell中exitreturn区别

return不带参数时,则会返回函数体中最后一个命令返回值。 return也可以用于使用 ....或 souce方式被包含到父Shell中,则可以正常运行。 3.exit与return区别 (1)作用不同。exit用于在程序运行过程中随时结束程序,exit参数是返回给OS。...exit是结束一个进程,它将删除进程使用内存空间,同时把错误信息返回父进程。而return是返回函数值并退出函数; (2)语义层级不同。...return是语言级别的,它表示了调用堆栈返回;而exit是系统调用级别的,它表示了一个进程结束; (3)使用方法不用。...return一般用在函数方法体内,exit可以出现Shell脚本中任意位置。 ---- 参考文献 [1]exit manual [2]sysexits.h

5.2K40

finally与return之间关系

总结 finally与return之间关系 如果在finally中含有return语句,那么try/catch语句return还有作用吗?...i; }finally { i = 3; } } } 如果你对java内存布局不是很清楚,请看这篇文章:java虚拟机类加载机制字节码执行引擎...即finally操作后数据存储到其他槽中,而后再加载try/catch操作后数据。 而在finally中含有return时,栈中最后存储数据是finally中操作后数据。...即finally操作后数据存储到其他槽中,而后加载是其他槽(finally)中数据。...也就是说:如果finally中不含有return语句,finally对try/catch操作八大基础类型不会再加载到操作数栈中。 如果返回值是对象引用,finally中return还有待考据。

89220

golang newmake区别

Go语言中newmake都是用来内存分配原语(allocation primitives)。简单说,new只分配内存,make用于slice,map,channel初始化。...通过new其返回一个指向新分配类型为int指针,指针值为0xc00004c088,这个指针指向内容值为零(zero value)。 同时,需要注意是不同指针类型零值是不同。...它new还能配合使用 示例 var mv *map[string]string fmt.Printf("mv: %p %#v \n", &mv, mv)//mv: 0xc042004028 (*map...小结: makenew都是golang用来分配内存內建函数,且在堆上分配内存,make 即分配内存,也初始化内存。new只是将内存清零,并没有初始化内存。...make返回还是引用类型本身;而new返回是指向类型指针。 make只能用来分配及初始化类型为slice,map,channel数据;new可以分配任意类型数据。 目录

4.8K20

JavaScript中break、continuereturn区别

,从当前循环外面开始执行,忽略循环体中任何其他语句循环条件测试。...} i += 1; } 总结 1、return语句作用 (1) return 从当前方法中退出,返回到该调用方法语句处,继续执行 (2) return 返回一个值给调用该方法语句...,返回值数据类型必须与方法声明中返回值类型一致,可以使用强制类型转换来是数据类型一致 (3) return 当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。...2、break语句作用 (1) 只能在循环体内switch语句体内使用break语句。 (2) 当break出现在循环体中switch语句体内时,其作用只是跳出该switch语句体。...在whiledo-while循环中,continue语句使得流程直接跳到循环控制条件测试部分 ,然后决定循环是否继续进行。

1.4K40

【面试题精讲】continuebreakreturn区别是什么

continue、break return 是在编程中常用控制流语句,它们有不同作用使用场景。...当程序执行到 return 语句时,会立即退出当前方法,并将指定值返回给调用者。通常用于在满足某个条件时,提前结束方法执行并返回结果。... -1; // 返回错误码表示除数为0     }     return a / b; } 在上述代码中,如果除数为 0,则使用 return 语句返回-1 作为错误码;否则,计算 a 除以 b 结果并返回...总结: continue用于跳过当前迭代,进入下一次迭代; break用于终止循环或者 switch 语句,并跳出该结构体外部代码块; return用于结束当前方法执行...需要注意是,这三个关键字使用要根据具体场景需求来选择合适控制流语句。

21390

break, continue return 用法及区别

有的时候平时遇到一些很小知识点搞不清楚,就随手搜索一下,但是下次可能又忘了,所以就简单记录一下。之后《小知识点专辑》会用于记录一些小基础知识点。”...不积跬步无以至千里“,这些小知识点会帮助我们自己慢慢完善自己知识体系。...break, continue return 用法及区别 return:是函数返回语句,返回同时函数也会停止执行。 break:语句会跳出循环,但是会继续执行循环之后代码(跳出循环)。...return, break, continue, 运行结果如下: 使用 return, 什么都不打印 使用 break, 打印 foo result 使用 continue, 打印 1,2, 3, 4...当你需要在你代码里进行一些异常判断时候,你可以使用 return 直接返回错误信息,这样 foo函数就会停止执行,都不会执行foo函数剩下语句。

2.3K10

实例讲解overridenew区别

---- 二、newnew关键字可以在派生类中隐藏基类方法,也就说在使用派生类调用方法是New关键字新定义出来方法,而不是基类方法。...在不使用New关键字来隐藏基类方法也是可以,编译器会出现一个警告,提示如果有意去隐藏基类方法,请使用New关键字修饰。...Virtual关键字override紧密不可分,如果要实现Virtual方法就必须要使用override或new关键字(newoverride产生机理不同)。...= new B(); // 实例化b对象,B是b实例类 c = new C(); // 实例化c对象,C是c实例类 d = new D(); // 实例化d对象,D是d实例类 a.Func...(优先级最后) 4、new时候,虽然继承类中也有同名方法,但是已经与父类那个没有关系。故也不会调用到这个方法。除非是以子类申明对象才能调用到。

871100

Go语言newmake区别

Go语言中newmake都是用来内存分配原语(allocation primitives)。简单说,new只分配内存,make用于slice,map,channel初始化。...通过new其返回一个指向新分配类型为int指针,指针值为0xc00004c088,这个指针指向内容值为零(zero value)。同时,需要注意是不同指针类型零值是不同。...它new还能配合使用示例var mv *map[string]stringfmt.Printf("mv: %p %#v \n", &mv, mv)//mv: 0xc042004028 (*map[string...小结:makenew都是golang用来分配内存內建函数,且在堆上分配内存,make 即分配内存,也初始化内存。new只是将内存清零,并没有初始化内存。...make返回还是引用类型本身;而new返回是指向类型指针。make只能用来分配及初始化类型为slice,map,channel数据;new可以分配任意类型数据。

36120
领券