柔情似水 发表于 2015-1-16 14:24:28

NET网页编程之C#中的静态办法与非静态办法的区分

我有个同学,他是搞Java的,他给我说“Java不是效率低,而是速度慢。”,我不是搞Java的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了?非静态办法比静态办法多传送一个隐含的指针参数,该指针指向该办法地点类已被实例化的工具。这一区分的内在体现为非静态办法内可以使用this关头字代表所附属的类,而静态办法不成利用this,由于静态办法不针对任何实例工具。非静态办法挪用静态办法会因参数中多出一个指向本人的指针(this)而产生毛病。界说静态办法只需加注static关头字便可。静态办法自力于工具实例以外,与工具是不是已被实例化有关,挪用静态办法要用类界说的称号而不克不及用实例称号。

示例代码以下:

界说类及办法:
classClass1
{
...
publicstaticvoidMethod1(){}//静态办法
publicvoidMethod2(){}//实例办法
}


能过实例化的工具挪用办法:
Class1c=newClass1();
c.Method1();//毛病的挪用体例,静态办法不克不及经由过程实例化的工具挪用。
c.Method2();//准确的挪用体例,隐含this指针,不必要也不同意显式传进工具指针。


不实例化工具,间接挪用工具办法:
Class1.Method1();//准确的挪用体例,与工具实例有关。
Class1.Method2();//毛病的挪用体例,非静态办法必需经由过程实例化的工具挪用。
今天去面试,被问到C#中的new关键字,看了那么多的书对new关键字还是有一定认识,回来又把new复习了一遍,发现了许多以前还不知道的细节。

乐观 发表于 2015-1-18 14:02:10

大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。

小女巫 发表于 2015-1-25 19:51:56

平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。

小魔女 发表于 2015-2-3 19:59:35

比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。

再现理想 发表于 2015-2-9 05:35:18

但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。

仓酷云 发表于 2015-2-27 03:47:13

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。

若相依 发表于 2015-3-8 21:33:58

ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。

谁可相欹 发表于 2015-3-16 18:20:32

使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

山那边是海 发表于 2015-3-23 00:24:03

可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
页: [1]
查看完整版本: NET网页编程之C#中的静态办法与非静态办法的区分