我正在阅读new运算符的文档,它用于在堆上创建新对象并调用构造函数。这个定义在非专业术语中意味着什么,因为我是一个年轻的程序员,如果答案用非常简单的术语或短语解释,我会很感激。了解动态内存关键字新建
线我遇到新的特定代码正在做一个互联网来源完成C#教程的例子。
var newNumber = new StringBuilder();
所以,我要求的,打破什么新的运营商,也如果你能告诉我什么行代码确实将是有益的,以及简单的例子。
我正在阅读new运算符的文档,它用于在堆上创建新对象并调用构造函数。这个定义在非专业术语中意味着什么,因为我是一个年轻的程序员,如果答案用非常简单的术语或短语解释,我会很感激。了解动态内存关键字新建
线我遇到新的特定代码正在做一个互联网来源完成C#教程的例子。
var newNumber = new StringBuilder();
所以,我要求的,打破什么新的运营商,也如果你能告诉我什么行代码确实将是有益的,以及简单的例子。
它创建一个对象的新实例,并将其放在堆上。这样做也会启动该对象的构造函数,您可以根据自己的喜好进行修改。例如,假设我有一类人,我可以创建构造函数:
public Person(String name)
{
// do something with name
}
这将让其他类实现的人知道了人的创造一个新的实例时,他们需要给一个字符串作为参数。
他们会再调用
var newPerson = new Person("John");
新的关键字基本上创建你在其他地方所定义的“蓝图”的一个具体实例。因此,在上面的代码中,newPerson将是一个实际的对象,它基于“Person”类中的蓝图。
动态是指你不必自己分配堆上的对象。这是委托,所以你不必担心你的实际对象在内存中的位置。 (与其他一些编程语言不同,这会给你更多的控制权)。
这意味着作为一名程序员,您不知道在哪里可以找到您的对象,但您并不在意,只要您可以使用它即可。 :)
想象一下,我们正在谈论三明治。我喜欢潜艇;你喜欢卷。我们正在谈论我们知道存在的事情,但不在我们面前。我们正在谈论那些类型的三明治。
当然,在所有这些谈话之后,我们都饿了,去熟食店。我说我喜欢潜水艇,想要一个新实例这种类型的三明治 - 我可以持有,看到并感激地吃。
new
对某个类型进行操作并返回一个与其他类型不同的全新类型实例。就像我的三明治。
每当另一个对象想要使用对象的人,他们必须创建一个新的实例? – 2014-11-07 02:53:17
如果它是一个对象,您将使用多次,当然,您将保留它在一个变量中。最后是类的变量。如果该对象可以被其他对象使用,那么你可以公开该变量。这是一个非常简短和简单的解释。你应该开始阅读一本编程书籍以获得正确的理解! – Andrew 2014-11-07 03:07:55