前言:
最近在工作上,遇到要将C#的编码转换为java编码形式,所以就简单研究了一下C#与Java的区别和联系。
接下来我们就按照C#的结构来与Java进行比较吧!

一,C#与Java区别和联系
1 C#中的using就好比java中用于导入包的import,namespace就好比java中的package,用来解决相同对象名的冲突
2 数据类型的声明和定义除了两点:1,声明字符串类型时,Java中的String首字母要大写,而C#大小写都可以;2,声明布尔类型时,Java中使用的是boolean关键字,而C#中使用的是bool,其他就与java中的基本相同
3 变量的命令字符,Java中支持使用$字符,而C#中不支持使用该字符串
4 定义数组的区别,java中只支持在创建数组时赋数组大小值或给该数组赋值,不支持在创建数组时既赋数组大小值又给该数组赋值,但是C#都支持,但是C#不支持将[]放在数组名后;
例如:
Java中:
int []a=new int[4] OR int []a={1,2,3,4,5}
C#中除了上述两种,还支持如下
int []a=new int[4]{1,2,3,4} OR int []a=new int[]{1,2,3,4}
5 访问修饰符,C#除了有和java同样的四种修饰符public protect default private之外,还有一个修饰符internal,指的是可以在同一程序集中可以访问,可以跨类
5.1 这里科普一下,在C#中程序集的定义,所谓程序集其实就是一个项目,一个程序集可以体现为dll文件或exe文件,同时还有解决方案,所谓解决方案,就是由多个项目构成的)
6 继承,C#和Java都支持继承,不同的是Java使用的是extends,而C#中只需使用:即可,同时其子类调用父类的构造方法时,Java使用super关键字,而C#使用的是base关键字
7 接口,都是使用interface来实现,不同的是Java使用的关键字是implements,而C#使用的也是:,同时在java中的方法声明可以使用public进行修饰, 在C#中的方法默认都是public类型,但是不能给其接口方法添加public
8多态,都是使用abstract来定义该类或该方法为抽象方法,java中直接重写即可,而C#需要加上关键字Override来实现