java与c#的语法区别详细介绍

2016-02-19 11:46 25 1 收藏

今天给大家分享的是由图老师小编精心为您推荐的java与c#的语法区别详细介绍,喜欢的朋友可以分享一下,也算是给小编一份支持,大家都不容易啊!

【 tulaoshi.com - 编程语言 】

由C#转入Java一段时间了,总结下个人认为的Java同C#语法之间的不同之处,有不同意见之处还望各位海涵
刚学Java时觉得语法同C#大致是相同的(应该说C#同Java大致相同,毕竟人家微软的C#是有意模仿Java的语法习惯的)
比尔.盖茨曾经说过:“Java是最卓越的程序设计语言”
言归正传,下面探讨Java同C#的语法不同之处。。。
1,命名空间与包
C#为了把实现相似功能的类组织在一起,引入了命名空间的概念(namespace)
Java中与此对应的东西叫做包(package)
2,类的访问控制方面的不同
C#只有两种:public和默认(同internal)
public能被所有的类(同项目中和不同项目中)访问
internal(在class关键字前不加控制符时默认为internal),表明类只能在同一项目中访问
Java也只有两种:public和默认
public能被所有的类访问
默认(在class关键字前不加控制符时)只能被同一包中的所有类访问
3,类成员的访问控制
C#中有四种:public,protected,private(默认),internal(注意这里internal和默认是不同的)
public能被所有的类访问
protected只能被子类访问
private(也即不写任何控制符时的默认情况下)只能类内部访问
internal能被同一项目中的类访问
Java也有四种:public,protected,private和默认
public能被所有的类访问
protected既能被同一个中的其他类访问,也可以被不同包中的子类访问
private只能在类内部使用
默认可以被这个包中的其他类访问,如果一个子类与父类位于不同的包中,子类也不能访问父类中的默认访问控制成员
4,C#中类的继承用通过冒号:实现,在Java中用extends
C#中实现接口通过冒号:实现,在Java中用implements
C#中密封类用sealed实现,在Java中用final
C#中常数用const实现,在Java中用final
C#中属性用set,get代码块实现,在Java中一般用类似于C#中的字段代表属性,或者用setter,getter构造器实现
C#中有部分类(partial)的概念,Java中没有
C#中有readonly修饰属性只读,Java中没有
C#中有virtual和override修饰虚方法和重写方法,Java中没有,Java中默认父类中的方法都是virtual的
Java中有static{},synchroized{}代码块的概念,C#中没有
Java中有标签(如labelA:)的概念,C#中没有
C#中子类调用父类的方法用base.method(),Java中用super.method()
C#中用is来判断一个实例是否是某一个类的,Java中用instanceof
C#中用foreach(int i in array)来对数组中每一个元素的遍历,Java中用for(int i : array)

来源:http://www.tulaoshi.com/n/20160219/1598504.html

延伸阅读
//返回本地主机名称及IP地址; InetAddress i = InetAddress.getLocalHost(); i.getHostAddress();//IP i.getAddress();//??? //通过计算机名称获取计算机相关信息; InetAddress i = InetAddress.getByName("Livingstone-PC"); //通过域名获取主机相关信息 InetAddress ibaidu = InetAddress.getByName("www.baidu.com"); URL url = new UR...
不只是c#,其实是说.NET下与mysql的连接,如果一般说来,因为.NET没有相应的驱动连接与其对应,是用odbc的连接,但这样的弊端是显而易见的,在sourceforge上有个开源的项目,具体下载地址是 http://prdownloads.sourceforge.net/mysqldrivercs/MySQLDriverCS-n-EasyQueryTools-3.0.18.exe?use_mirror=jaist 方法如下: using MySQLDriverCS;  ...
标签: Web开发
Microsoft(微软公司)说∶C#同Java不一样,将成为一个国际性标准。 C#同Java较量的第一局比赛已经开始,Sun公司声称Microsoft已经给一个不相关的标准委员会递交了一个另人混淆的、不完善的技术标准。 Sun公司的工程师们自Microsoft公司于星期一发布了C#标准以来,一直在仔细搜寻C#标准的技术信息,并且宣称C#不可能...
在本文里,通过编辑一个小小的可以将温度从摄氏转换到华氏的程序,我们将亲身体会到C# GUI开发过程。阅读本文最基本的要求是您要具有C#及面向对象程序设计的基本知识。本文的写作宗旨是介绍C#,如果您希望编译或是运行本文所列举的程序,则需要有.NET Framework SDK的支持。 创建一个视窗应用程序主要包括以下的基本步骤:创建适合...
这可不是我写的,我只是看到觉得不错,才贴的哦。 : 不要以为这个题目是耸人听闻,但就目前的形势来看c/c++是需要退出舞台或者说的婉转一点是需要更新换代了. 我想在未来的一两年里,作为程序员等级评判的标准之一c/c++(不管是mfc还是bcb)将会让位给三种编程语言,1.sun的java2.windows平台上的c#3.xml 为什么这么说呢,我认为最大理由是目前...

经验教程

890

收藏

91
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部