| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    想学好编程,学好外语很重要  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> JAVA文章 >> JAVA基础 >> 文章正文
华山论剑:C#对Java        【字体:
华山论剑:C#对Java
作者:佚名    文章来源:不详    点击数:    更新时间:2006-4-16









继承:这两种语言都支持类的单一继承,但类可以实现多个接口。所有类都从一个公共的基类继承。 

封装与可见性:无论是在Java还是C#中,你都可以决定类成员是否可见。除了C#的internal访问修饰符之外,两者的可见性机制非常相似。 

多态性:Java和C#都支持某些形式的多态性机制,且两者实现方法非常类似。



2.12、可访问性 


类的每个成员都有特定类型的可访问性。C#中的访问修饰符与Java中的基本对应,但多出了一个internal。简而言之,C#有5种类型的可访问性,如下所示:








public:成员可以从任何代码访问。 

protected:成员只能从派生类访问。 

internal:成员只能从同一程序集的内部访问。 

protected internal:成员只能从同一程序集内的派生类访问。 

private:成员只能在当前类的内部访问。



2.13、派生类 


在Java中,我们用关键词“extends”实现继承。C#采用了C++的类派生语法。例如,下面的代码显示了如何派生父类Control从而创建出新类Button:






 
 
 public class Button: Control { . . } 
 

 
 

2.14、最终类 


由于C#中不存在final关键词,如果想要某个类不再被派生,你可以使用sealed关键词,如下例所示:






 
 
 sealed class FinalClass { . . } 
 

 
 

2.15、接口 


接口这个概念在C#和Java中非常相似。接口的关键词是interface,一个接口可以扩展一个或者多个其他接口。按照惯例,接口的名字以大写字母“I”开头。下面的代码是C#接口的一个例子,它与Java中的接口完全一样:






 
 
 interface IShape { void Draw(); } 
 

 
 

扩展接口的语法与扩展类的语法一样。例如,下例的IRectangularShape接口扩展IShape接口(即,从IShape接口派生出IRectangularShape接口)。






 
 
 interface IRectangularShape: IShape { int GetWidth(); 

 

 
 

如果你从两个或者两个以上的接口派生,父接口的名字列表用逗号分隔,如下面的代码所示:






 
 
 interface INewInterface: IParent1, IParent2 { } 
 

 
 

然而,与Java不同,C#中的接口不能包含域(Field)。



另外还要注意,在C#中,接口内的所有方法默认都是公用方法。在Java中,方法声明可以带有public修饰符(即使这并非必要),但在C#中,显式为接口的方法指定public修饰符是非法的。例如,下面的C#接口将产生一个编译错误

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] 下一页  

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • 数据库连接池Java实现小结

  • Java数据库编程中查询结果的…

  • Java,Beans和关系数据库的镜…

  • 课程介绍(11): SL-351 Java数…

  • 课程介绍(12): SL-330 用Jav…

  • JavaBeans和关系数据库的镜像

  • Java访问数据库的速度瓶颈问…

  • JDBC3.0有什么新特性

  • 利用javabean轻松实现对数据…

  • 利用javabean轻松实现对数据…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |