这位网友不得不从C#转到Java。他列出了Java和C#的十大区别。我将采用他的主题并展示如何在Java中实现:
第十个坑 - 把我的标准输出还给我!
在Java中打印到标准输出:
System.out.println("Hello");
陷阱 #9 - 命名空间 == 自由
Java 中你没有命名空间的自由。你的类的文件夹结构必须和包名匹配。例如,一个在包 org.test 中的类必须在文件夹 org/test 中。
陷阱 #8 - super 关键字的用法
在 Java 中,要引用超类,你需要使用保留字 super
,而不是 base
。
陷阱 #7 - 将构造函数链接到基础构造函数
在 Java 中没有这个功能。你必须自己调用构造函数。
陷阱 #6 - 怎么样才能子类化已有的类?
要在 Java 中子类化一个类,可以这样做:
public class A extends B {
}
这意味着类A
是类B
的子类。在C#中将是class A : B
陷阱 #5 - 为什么常量不保持恒定?
在Java中定义常量使用关键字final
而不是const
陷阱 #4 - ArrayList
,Vector
或Hashtable
在哪里?
Java中最常用的数据结构是HashSet
,ArrayList
和HashMap
。它们实现了Set
,List
和Map
。当然,还有更多其他类型的集合可以使用。在此处了解更多有关集合的信息。
陷阱 #3 - 访问器和修改器(Getters and Setters)
Java中没有属性的功能。您必须自己声明获取和设置方法。当然,大多数IDE都可以自动完成。
陷阱 #2 - 我不能重写吗!?
在Java中不需要声明一个方法为virtual
。除了那些声明为final
的方法,其他所有方法都可以在Java中被重写。
最大的陷阱...
在Java中,基本类型int
,float
,double
,char
和long
不像C#中的Object
。它们每个都有相应的对象表示,如Integer
,Float
,Double
等。
就是这样。别忘了查看原始链接,其中有更详细的讨论。