控件中国网现已改版,您看到的是老版本网站的镜像,系统正在为您跳转到新网站首页,请稍候.......
中国最专业的商业控件资讯网产品咨询电话:023-67870900 023-67871946
产品咨询EMAIL:SALES@COMPONENTCN.COM

5个 C# 和 Java 之间的不同方法

作者:未知 出处:cnblogs 2012年06月08日 阅读:

 C#和 Java 之间最大的区别之一,是如何处理的方法。在这两种语言,方法是功能代码的基石:他们定义变量,并指定对这些变量进行操作,返回值给其他方法使用。尽管 Java 语言的创建者遵循了许多基于C语言的概

 
念,他们研发的方法允许更少的限制和增加更多的灵活性。
 
  #1: Virtual 方法
 
  C#:方法默认是非虚方法
 
  Java:方法默认是虚方法
 
  虚方法允许任何类继承,并重写其方法。在 Java 中,所有方法默认是虚方法。此默认设置防止插入的一个与继承类同名的不相关的方法。
 
  在C#中,开发人员必须明确指定带“virtual”关键字的虚方法: 
 
public class Dimensions  
 
 {  
 
     public const double pi = Math.PI;  
 
     protected double x, y;  
 
     public Dimensions ()  
 
     {  
 
     }  
 
     public Dimensions (double x, double y)  
 
     {  
 
         this.x = x;  
 
         this.y = y;  
 
     }  
 
    
 
     public virtual double Area ()  
 
     {  
 
         return x*y;  
 
     }  
 
 } 
  继承类要使用虚方法,该方法必须加上“override”关键字:
 
public class Circle: Dimensions  
 
 {  
 
     public Circle (double r): base(r, 0)  
 
     {  
 
     }  
 
    
 
     public override double Area ()  
 
     {  
 
         return pi * x * x;  
 
    }  
 
  #2: Generator 方法
 
  C#:支持 generator 方法
 
  Java:不支持 generator 方法  
 
  generator 方法允许开发人员控制如何循环处理每一次迭代。而不是创建一个组,generator 方法返回每次迭代后的值作为循环过程的代码。Java 没有内置处理 generator 方法的功能,假设在 Java 中有这些功
 
能代码,往往也是庞大而复杂的。C#使用“IEnumerable”接口创建 generator 函数和“yield”命令返回值:
 
public class TexasCityCollection : IEnumerable<string> {  
 
     public IEnumerator<string> GetEnumerator () {  
 
         yield return "Houston";  
 
         yield return "Auston";  
 
         yield return "Dallas";  
 
         yield return "San Antonio";  
 
     }  
 
 } 
  #3: Partial 方法
 
  C#:支持并限制分部方法
 
  Java:不支持分部方法
 
  Java 不支持分部方法。在 C# 中,分部方法是允许的,但必须符合特定的限制:   
 
  · 分部方法方法名必须相同。  
 
  · 分部方法必须返回 void。  
 
  · 分部方法默认是“private”,而且不接受任何修饰符。
 
  #4: Extension 方法
 
  C#:支持扩展方法
 
  Java:不支持扩展方法
 
  扩展方法允许开发人员包括他们当前类型的方法,而不需要创建一个新类型或者修改现有的类型。当前的 Java 语言不支持扩展方法,但是其特性会考虑放在将来的版本中。
 
  #5: Conditional 条件编译
 
  C#:支持条件编译
 
  Java:有限的支持条件编译
 
  C#编译器允许条件编译:开发者可以输入参数来确定项目编译哪些方法来使用。Java 也允许条件编译,但这种做法通常是在调试过程中使用

热推产品

  • ActiveReport... 强大的.NET报表设计、浏览、打印、转换控件,可以同时用于WindowsForms谀坔攀戀Forms平台下......
  • AnyChart AnyChart使你可以创建出绚丽的交互式的Flash和HTML5的图表和仪表控件。可以用于仪表盘的创......
首页 | 新闻中心 | 产品中心 | 技术文档 | 友情连接 | 关于磐岩 | 技术支持中心 | 联系我们 | 帮助中心 Copyright-2006 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 电话:023 - 67870900 传真:023 - 67870270 产品咨询:sales@componentcn.com 渝ICP备12000264号 法律顾问:元炳律师事务所 重庆市江北区塔坪36号维丰创意绿苑A座28-5 邮编:400020
在线客服
在线客服系统
在线客服
在线客服系统