题目:在做我们团队项目的过程中(游戏开发)的时候使用到了C#这一门编程语言,发现它和Java看上去很相似,所以我就想深入了解一下Java和C#到底有什么异同呢?
先附上wiki百科【http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java】里面比较全面的内容,虽然很多看不懂,不太理解。
以下是我自己的部分理解:
1、在Java中一个类文件只能有一个公有类,且类名必须与文件名相同, 但在C#中没有这种限制,一个文件可以有多个公有类,一个类还可以分散放在多个文件中。
Java的类方法一般用小写字母开头,而C#的类方法一般用大写字母开头。
2、Java和C#的运算符基本相同,只是Java多了一个位运算符 >>> 右移,左边空出的位以0填充
3、流程控值Java和C#基本相同,唯一的一点区别是在做遍历时的写法:
Java: for (int i : numArray) C#: foreach (int i in numArray)
4、在属性上,java中定义和访问均要用get和set方法,可以不成对出现。
c#中是真正的属性,定义时get和set必须同时出现,访问时用.号即可。不用get,set 。
5、Java和C#的继承与接口实现机制是一样的,两者都只能单继承,可以实现多接口 。
6、Java的内部类可以直接访问外部类的实例成员。
C#的不行。C#的内部类等同于Java的静态内部类。