电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> C#>>面向对象语言(c# & Java)程序实例化(new)的详细介绍:

面向对象语言(c# & Java)程序实例化(new)的详细介绍

来源:网络(amu945) | 2007-6-20 | (有4120人读过)

new 表示实例化一个类。 
比如有一个类叫汽车。你现在想在程序中买一辆,所以你用new来买了一辆汽车,这辆车你得给你找个名字,比如宝马。呵呵所以就成 
汽车 宝马 = new 汽车 

你有钱了,你要再来一辆:汽车 奔驰 = new 汽车 
但他们都有汽车该有的东西:四个轮子,一个方向盘,发动机,车门。所以都是汽车一类的东西。 

c#的本质,可以这样表达,c#所有东西全都是类,一个继承另一个,子类继承父类。 
连string都是个类。申明一个字符串变量,就是实例化一个string类。 

实例化类这个嘛不是c#才有问题,是面向对象的问题。 
一个包装好了的功能的代码块就可以作为一个类。但你不能直接用它,因为面向对象概念中是不允许随便修改类的内容的。要用你就要实例化。就像汽车这个类。你要用行,但你不能改了汽的一些基本性质上的东西。比如你不能让四个轮子变成只有两个。你不能却掉方向盘。但是你不甘心啊,所以你实例化了,系统就给你一个类似于汽车镜像一样的汽车,他有了汽车通有的东西。你自己给他一个名字,以后你就可以随意让车开开停停,改改装装,你说我要加一排灯行,你可以加在你的实例上,但不要加到类上,因为你一加到类上了,别人实例化了的汽车也有一排的灯了,人家又不喜欢怎么办呢。 

其实你申明字符串变量的时候一般没有用到new因为这种东西有点儿不一样,系统准许你不用new来声明,直接用:“string 变量名”就行了,但用new也没有错,一样是可以的。 

c#就是有强大的类库,什么意思呢,就是基本上所有你要完成的程序都可以用c#类库(有很多很多类),实例化你要用的。拼起来就行了。绝大多数类还是要用new的。

(剖析简单深刻,感谢amu945。)

另外,补充重要的一点:new会在堆内存中开辟空间并初始化,而后将其引用返回。如果不用new,比如:car c1;那么实际上c1只是栈上的一个标记而已(应该是4个字节吧),而没有完整的内容。
C#热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号