c#与java的区别 | |
c#与java的区别: 2.对象索引 3.C#中,不用任何范围修饰符时,默认的是protect,因而不能在类外被访问. 4.因为JAVA规定,在一个文件中只能有一个public类,而且这个类的名称必须与文件名一模一样,这是一个区别 5.在C#中,它是以Main方法来定位入口的.如果一个程序中没有一个名为Main的方法,就会出"找不到入口的错误".不要把Main写成main哟 6.C#预定义的简单数据类型比Java多。例如,C#有unit,即无符号整数 7.忘掉Java中的static final修饰符。在C#中,常量可以用const关键词声明 9.在Java中,switch语句只能处理整数。但C#中的switch语句不同,它还能够处理字符变量。请考虑下面用switch语句处理字符串变量的C#代码 10.C#没有>>>移位操作符 11.goto关键词: 12.int[] x = { 0, 1, 2, 3 }; 13.与Java不同的是,C#允许为名称空间或者名称空间中的类指定别名: 14.在Java中,包的名字同时也是实际存在的实体,它决定了放置.java文件的目录结构。在C#中,物理的包和逻辑的名称之间是完全分离的 15.在Java中,java.lang包是默认的包,C#中不存在默认的包 16.C#中的访问修饰符与Java中的基本对应,但多出了一个internal。简而言之,C#有5种类型的可访问性,如下所示: public:成员可以从任何代码访问。 17.由于C#中不存在final关键词,如果想要某个类不再被派生,你可以使用sealed关键词 18.与Java不同,C#中的接口不能包含域(Field)。 19.C#中的is操作符与Java中的instanceof操作符一样,两者都可以用来测试某个对象的实例是否属于特定的类型。在Java中没有与C#中的as操作符等价的操作符。as操作符与is操作符非常相似,但它更富有“进取心”:如果类型正确的话,as操作符会尝试把被测试的对象引用转换成目标类型;否则,它把变量引用设置成null。 20.C#仍旧保留了C++的内存手工管理方法,它适合在速度极端重要的场合使用,而在Java中这是不允许的 21.在C#中,所有的异常都从一个名为Exception的类派生 22.枚举器即enum类型(java无),把它作为一个变量值的类型使用,从而把变量可能的取值范围限制为枚举器中出现的值。 23.结构(Struct)与类很相似,而结构是一种值类型,它存储在栈中或者是嵌入式的,结构可以实现接口,可以象类一样拥有成员,但结构不支持继承 24.属性声明语法的第一部分与域声明很相似,第二部分包括一个set过程和/或一个get过程 25.传值方式: 26.c#保留了指针。unsafe 27.代理:代理(delegate)可以看作C++或者其他语言中的函数指针 |