JAVA 中NEW运算符的作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 中NEW运算符的作用相关的知识,希望对你有一定的参考价值。

请问师长:JAVA 中NEW运算符的作用是什么?可以否举个列子告诉我呢?先谢谢啦!

参考技术A new 关键字用来在堆中申请空间。

在Java中,形如这样的代码:
String str;
定义一个String类型的引用,但它只是一个引用,并没有实际在堆中分配空间。
当使用这样的代码:
str = new String("Hello!");
就在堆中分配了空间。

有兴趣可以参考我在这里的回答:
http://zhidao.baidu.com/question/13175021.html
参考技术B 类的实例化,
例如:已定义了一个类class Class ....
Class var = new Class();
即分配了一个Class类大小的空间给类变量var。
参考技术C 一般是用作定义新的实例变量

String str = new String("Hello!");
参考技术D 实例化一个类 ...

java中定义和声明了哪个包new操作符?

【中文标题】java中定义和声明了哪个包new操作符?【英文标题】:In which package new operator is defined and declared in java? 【发布时间】:2017-01-26 17:10:20 【问题描述】:

就像在 Java 中一样,一切都是类。是否也存在用于 new 关键字的 java 文件?如果是,请告诉包名。

【问题讨论】:

***.com/questions/7019754/… 它是一个运算符。你还认为你可以在一个类中找到+ 运算符吗? 不,关于那个“+”运算符的想法,但我说的是新运算符。 【参考方案1】:

在 Java 中,一切都是类。

不,不一定。

是否也存在用于 new 关键字的 java 文件?

不,没有。关键字和运算符不是类,它们是语言中使用的保留字或符号。它们不是对象。

new 是运算符和关键字。 returnpublic 等关键字没有类,+ 运算符也没有类。


至于原语包装类,例如:Float, Double, Long, Boolean, Character, Byte, Short, Integer,它们是原语的类形式,比它们各自的原语具有更多的能力,可以用于数据结构之类的东西,但这仅适用于原语。 new 不是原语。

【讨论】:

像float、byte这样的关键字在java/lang文件夹中有.java文件。 包装类也是可以在java中定义的类的类型。那么,一定有一些代码定义了新操作符的工作原理? 不,他们不是。 @NickSilicon,包装类适用于 primitivesnew 不是原语。 new 是保留关键字,具有较低级别的功能,例如为新“对象”分配内存的程序集。 所有编程语言中的所有新运算符都以完全相同的方式工作吗? @NickSilicon 不确定您所说的完全相同的方式是什么意思。 Java 中的new 表示通过分配内存创建一个新对象。它在许多语言中具有相同的概念,但在 Python 中,new 在实例化时完全省略。

以上是关于JAVA 中NEW运算符的作用的主要内容,如果未能解决你的问题,请参考以下文章

C++中new的用法

默认参数中的 c++ new 运算符及其副作用

c#中 new 这个关键字是啥意思

C#中啥情况下要使用new关键字?这问题深奥额

java new运算符与点运算符优先级比较

为啥 C# 和 Java 会为“new”运算符而烦恼?