Java与C 和C# 有哪些区别?
Java与c#都是由c演变的,那么Java与c 和c# 有哪些区别呢?
一、首先,给你个形象的例子让你明白:
如果说Java好比是奔4,C语言就是386电脑了。
两者都是编译语言,但是后者是计算机发展中的一个基础语言,而Java则是新兴的功能更加强大的编写语言。
二、其次,再给你详细一些的说明两者的区别:
1. Java没有预处理指令。(如C中的#define , #include , #ifdef等)。C中的常量定义在Java中用static final来取代。
2. Java中没有C中的全局变量。
3. Java中的主类型的size是确定的,而C中主类型的size跟平台相关。
4. Java中没有了指针,它使用了类似的句柄来取代指针,但是Java中不允许对句柄进行加减,没有取地址操作符之类的东东。
5. Java有垃圾收集机制,不需要自己释放空间。
6. Java没有goto语句。Java在C提供的控制语句基础上增加了异常处理和标签break和continue语句。这些可以替代goto的作用。
7. C要求一个方法或块中使用的所有局部变量的定义在该方法或块的最开始处定义,而Java允许这些定义在方法或块的任意地方出现。
8. Java不要求在调用一个函数以前已经定义了该函数,可以在调用点后面定义。而C有这个要求。
9. Java不支持C中的strut 和 union类型。Java支持方法重载。
10. Java不支持C中的enum关键字。
11. Java不支持C中的bitfields能力。
12. Java不支持C的typedef。
13. Java不支持C的方法指针。
14. Java不支持C的可变参数表。