csharp与java的区别_C#与JAVA之比较(1)
C#、Java之比较
很多人说C#是微软用来和Java抗衡的武器,因为二者在很大程度上有着惊人的相似
,尽管如此,两者不同的地方也很多,所谓“于细微处见差异”。那么两者的相似和区
别都在什么地方呢?我们从今天开始,会从各个角度来对比C#和Java的特点,希望能对
正在学习、使用C#的朋友有所帮助。
1、C#和.NET平台的概貌
2000年6月,微软发布C#语言和.NET平台。C#语言是一种强类型的,面向对象的语言
,它具有语法简单、表达力强的特点,而.NET平台则是构成微软的“.NET计划”的基石
。
.NET平台的核心包括两方面,一方面就是著名的通用语言运行机(Common Language
Runtime),虽然这个名词起得晦涩了点,不过大家可以拿它和Java的虚拟机来作比较,
二者完成的任务大致相同;另一方面就是一大堆通用函数库,这些库函数可以被多种语
言调用,并且通过编译都产生一种共同的中间语言(Intermediate Language),这种语
言也可以拿Java的字节码来类比,虽然完成的方式有些不一样。
2、C#和Java
下面简单地把C#和Java的相似处列出来,虽然在这里我们重点讨论的是C#和Java的
不同点,但是了解一下二者的相同之处也是很有必要的。
二者都编译成跨平台的、跨语言的代码,并且代码只能在一个受控制的环境中运行
自动回收垃圾内存,并且消除了指针(在C#中可以使用指针,不过必须注明unsafe
关键字)
都不需要头文件,所有的代码都被“包(package)”限制在某个范围内,并且因为没
有头文件,所以消除了类定义的循环依赖
所有的类都是从对象派生出来,并且必须使用New关键字分配内存
用对象加锁的方式来支持多线程
都具有接口(interface)的概念
内部类
继承类的时候不会以某种特定的访问权限来继承;
没有全局函数或者常量,一切必须属于类;
数组或者字符串都自带长度计算和边界检查;
只使用“.”操作符,没有“->”和“::”;
“null”、“boolean”和“bool”成为了关键字;
任何变量均在使用前进行初始化;
不能使用整数来返回到if条件语句中,必须使用布尔值;
“Try”模块后可以有“finally” ;
csharp与java的区别_C#与JAVA之比较(1)相关推荐
- c#和java的区别_C#和java的语法区别
通过这几天,看java视频,总结了一下java与C#的部分语法区别. 1.基本类型 Java是由byte,short,int,long,float,dboule组成,所有类型都是有符号的. C#除了这 ...
- c语言和java的区别_C语言和Java的区别有哪些
C语言和Java的区别有哪些 作为编程界的两大编程语言-C语言和Java,它们之间有什么不同呢?下面小编给大家整理了C语言和Java的区别,供大家参阅. 1.C语言 C语言是一门通用计算机编程语言,应 ...
- python语言与c语言java的区别_c语言和java有什么区别
区别:1.单文件的编译时间java比C语言快:2.C语言可以直接操作内存,java不能直接操作:3.C语言可以封装动态库,java不行:4.C语言有指针,java没有指针:5.C语言可以直接操作串口, ...
- c 与java的区别_C/C++与java的区别
Java并不仅仅是C++语言的一个变种,它们在某些本质问题上有根本的不同:(1)Java比C++程序可靠性更高.有人曾估计每50行C++程序中至少有一个BUG.姑且不去讨论这个数字是否夸张, 但是任何 ...
- js与java的区别,JavaScript与Java的区别是什么呀?
JavaScript和Java看起来相似,其实这两者是两门不同的编程语言,他们没有任何的血缘关系.下面本篇文章就来给大家介绍一下JavaScript和Java的区别,希望对大家有所帮助. Java和J ...
- groovy 和 java的区别_Groovy和JAVA的区别
这段时间还是比较忙的博客也很久没写了 服务器也到期了一直没续费emmm 由于现在在写groovy的代码 所以这篇简单写点groovy相关的 1.Groovy和JAVA的区别 在Groovy中,将在运行 ...
- python和java的区别-Python和Java的区别有哪些?如何选择?
原标题:Python和Java的区别有哪些?如何选择? 随着人工智能AI的发展越来越快速,很多人对于Python开发技术也是越来越重视,也正因如此,不少人拿着Java和Python进行比较,认为Pyt ...
- python和java的区别-python和java的区别,看了这个就会区分了!
翻看日历,2019年结束也就剩下3个月的时间了!时光飞逝,伴随着互联网人工智能时代的发展,人类一直在预测,2020年什么技术会火?其中,人工智能编程成了大家讨论的热点,Python.Java一直被人们 ...
- python和java的区别-python与java区别
Python和Java都是很火的编程语言,对于想学习编程的人员来说,常常被这个问题所困扰:我是该学Python还是Java呢?想要解决这个问题,还需结合自身实际情况和两种语言的特点进行分析. 以下是P ...
最新文章
- IP SOC与Camera ISP
- 因为爱情,才有了思科
- C# IOThread
- JVM规范系列第2章:Java虚拟机结构
- 外部网络如何获取网口打印机的ip地址_网络打印机端口用名称好是还是IP好?...
- 【Socket网络编程】14. perror()、errno 的使用
- 四步法分析定位生产环境下MySQL上千条SQL中的问题所在
- maven没有resource文件夹_maven项目中没有resource文件夹的问题
- Html前端基础(这些基础标签你必须知道!)
- 通过 MySQL 二进制日志恢复删除的记录
- 机器学习(2)——K-近邻算法讲解
- 计算机组成图解结构图,图解计算机结构与体系分类!!
- 计算机开机显示屏幕优化中,联想电脑一开机就出现图像设定屏幕优化中怎样才能取消...
- KUKA库卡机器人零点失效维修案例
- 78M05-ASEMI三端正线性稳压器78M05
- 卸载计算机系统,W7电脑系统如何卸载软件
- VBA-API:通过BEEP函数(扬声器)播放音乐
- 第14章-1~3 法兰接头预紧力密封接触分析周期对称 (介绍、局部柱坐标系建立、周期对称的设置) Beta选项打开、 cyclic region、symmetry
- Selenium原理以及Python从零实现
- MySQL 自增序号
热门文章
- 常引用、常对象和对象的常成员
- sql server序列_SQL Server中的序列对象
- sql创建表主键gui_在SQL Server中使用主数据服务快速创建最终用户可以维护的GUI
- underscorejs-min学习
- 实现List按与一个字符串的相似度和字母顺序排序(适用于模糊查询后的排序)...
- [LeetCode]Plus One
- UITextView模拟UITextField 设置Placeholder属性 --董鑫
- 华为内部狂转好文:有关大数据,看这一篇就够了
- android下实现4分屏播放4路高清h264格式的rtsp流
- 每天进步一点点_抽奖程序