科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件总体了解C#(1 C#和Java)

总体了解C#(1 C#和Java)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

下面是C#和Java共有的特性列表,目的都是为了改进C++。这些特性虽非本文重点,但了解它们之间的相似之处还是很重要的。

作者:荣耀翻译 来源:soft6 2008年5月15日

关键字: java 了解 C# Windows

  • 评论
  • 分享微博
  • 分享邮件

下面是C#和Java共有的特性列表,目的都是为了改进C++。这些特性虽非本文重点,但了解它们之间的相似之处还是很重要的。

l 编译为机器独立、语言独立的代码,运行在受控执行环境里;

l 采用垃圾收集机制,同时摒弃了指针(C#中,指针被限制在标为unsafe的代码内使用);

l 强有力的反射能力;

l 没有头文件,所有的代码都在包或组合体里,不存在类声明的循环依赖问题;

l 所有的类都派生自object,且必须用new关键字分配在堆上;【译注:Java中为Object;C#中为object,相当于.NET的System.Object】

l 当进入标为锁定/同步代码时,通过在对象上加锁来支持多线程;【译注:例如Java中可对方法施以synchronized关键字,在C#中可使用Monitor类、Mutex类、lock语句等等】

l 接口支持—多继承接口,单继承实现;

l 内部类;

l 类继承时无需指定访问级别;【译注:在C++中,你可以这么做:class cls2: private cls1{};等等】

l 没有全局函数或常量,一切都必须属于类;

l 数组和字符串都保存长度记数并具边界检查能力;

l 永远使用“.”操作符,不再有“->”、“::”操作符;

l null和boolean/bool是关键字;【译注:Java中为boolean、C#中为bool,相当于System.Boolean】

l 所有的值在使用前必须被初始化;

l if语句不能使用整型数为判别条件;

l try语句块后可以跟finally从句。【译注:标准C++不可以,但Visual C++对SEH做了扩展,可以用__try和__finally】

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章