黑马程序员技术交流社区

标题: java有什么特点,对比C或者C++有很么优点? [打印本页]

作者: rehan    时间: 2015-2-18 17:28
标题: java有什么特点,对比C或者C++有很么优点?
RT:java有什么特点,对比C或者C++有很么优点?
作者: pcy1022    时间: 2015-2-18 17:33
跨平台,面向对象。
作者: 万合天宜    时间: 2015-2-18 19:42
Java与c语言的区别:
作者: 万合天宜    时间: 2015-2-18 19:45
首先,C语言是面向过程的语言,执行效率高;Java是面向对象的语言,执行效率比C语言低。C语言最关键的是比Java多了指针,这也说明了Java的健壮性,还有Java的多线程机制使程序可以并行运行,Java程序多用于网络。C语言的安全性不如Java,C语言没有Java的垃圾回收机制,申请的空间要手动释放。Java的通用性好,可以跨平台直接移植,只要有安装Java虚拟机(JVM)就可以了。在速度上,C语言编写的程序要优于Java,因为Java必须运行在虚拟机的环境中,但是因为虚拟机,Java获得的平台无关性,而C语言的程序有可能需要重新修改编译才能实现平台的移植,另一方面,C语言比Java语言更“底层”,因此可以用C编写例如硬件的驱动,而Java却不行。Java和C语言还有个明显的不同就是C语言注重的是算法,但是Java却不一样,想用的时候导包就可以了。C语言的算法很重要,但是Java中的算法没有C语言那么复杂。打印的方法:C语言是printf("…….");而Java是System.out.print("……."),也可以用println,ln表示换行。Java程序中的基本数据类型(boolean, char, byte, short, int, long, float, double),是对对象的引用;C语言也有许多种基本类型,还有struct, union, enum, 数组和指针。在Java没有枚举、联合类型。Java采用Unicode字符集,C语言通常采用的是ASCII字符集,A—65,a—97。C语言的变量可以不进行初始化,但Java的变量要进行初始化。在C语言中,char类型占一个字节,在Java中char类型占2个字节。Java面向对象的特征主要有封装,继承,多态。类的继承关系是单一的、非多重的,一个子类只有一个父类,子类的父类又只有一个父类。C语言支持“运算符的重载”,这是它的一个很重要的多态特征,是数据抽象和泛型编程的利器。它允许直接对对象进行四则运算,正像基本数据类型那样Java不支持这种多态机制,也是为降低复杂性。Jvav可以支持方法重载和重写,所谓重载就是一个类具备多个相同属性行为;重写就是在继承关系中父类的行为在不同的子类上有不同的实现。在Java中比C语言多了一些修饰符,如访问修饰符Public(公共的)、Private (私有的)、Protected (受保护的)、默认。Java有super关键字,指代父类对象,通常被用于调用父类的构造方法或一般方法 C语言则没有super关键字,两者都有this,指代当前对象。在Java中,除了static、final、private是静态绑定以外,所有方法一律按动态绑定处理。Java中可以将类组织起来用Package打包,而C语言没有。
作者: 万合天宜    时间: 2015-2-18 19:47
Java与C++的区别:http://zhidao.baidu.com/link?url ... m7klREgMbMf4xJgdpCK  你看链接吧,我也是百度的,字太多了~
作者: orsoul    时间: 2015-2-18 21:21
没有应用背景,无优缺点
作者: 血色@残阳    时间: 2015-2-18 23:45
优点应该主要是跨平台,面向对象和适合网络开发。
缺点也比较明显,不适合桌面程序开发,相对运行慢,而且代码太长,类名方法名太长
作者: ADS1993    时间: 2015-2-21 00:19
我是来看 评论 学习的  :lol
作者: xyf19881010    时间: 2015-2-21 00:32
来看看大家的理解
作者: 2119391569    时间: 2015-2-21 00:45
java成长至c++,优化了C++的特性,尤其是内存方面;java简单易学,安全可靠,与平台无关,完全面向对象
作者: sofeel    时间: 2015-2-21 16:53
苹果选择了C,大概是因为界面更需要速度吧
作者: 浮夸    时间: 2015-2-21 18:30
跨平台性决定了它的应用范围很广
作者: 心镜逝水    时间: 2015-2-21 19:32
,,,,,,没学到那一步
作者: aawenwei    时间: 2015-2-21 19:59
跨平台,应用范围很广,完全面对对象的。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2