C#和Java作为独立发展的两种程序设计语言,其实有很多相似的地方;当然,其中还是有一些不同的点的;假如一个熟悉C#但不清楚java的程序员去写java程序,其实没有多大困难,只是如果清楚了C#和Java中的一些不同的点,应该可以更快的从C#过渡到Java的。
本文主要是列举了笔者在学习Java过程中和C#比较的一些异同。希望可以给同样从C#转向Java的开发人员提供一些信息。
IBM的开发者网站提供了一个不错的java入门系列,对于初学者来说不妨一看。
https://www.ibm.com/developerworks/cn/java/intro-to-java-course/index.html
另外wiki中其实也已经有一些详实的对于java和C#的比较,可以参看
https://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java
Namespace(C#) vs Package(java)
C#和java都是面向对象的编程语言;在源代码的层面,C#的组织结构是命名空间=>类=>方法/变量/常量,而Java稍有不同,用package代替了C#中的namespace,但是所起的作用是类似的。
同样的,当一个namespace或者package中需要用到其他的命名空间下的类时, C#通过using指定上下文可以访问的namespace,而Java通过import导入package来达到同样的目的。
代码示例
Java
packagehello.world;import java.lang.*;public classHelloWorld {private static final int CONSTINT = 100;privateString variable;public voidmethod(){}public static voidmain(String[] args) {
System.out.println("Hello World!");
}
}
C#
usingSystem;namespaceHello.World
{public classHelloWorld
{private const int CONSTINT = 100;private stringvar