b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

微信java [ 转 ]C++和JAVA的区别(14)

电脑杂谈  发布时间:2018-01-06 03:03:59  来源:网络整理

Java没有函数,作为一个比c十十更纯的面向对象的语言,Java强迫开发人员把所有例行程序包括在类中,事实上,用方法实现例行程序可激励开发人员更好地组织编码。

(46) 类型转换

在c和c十十中有时出现数据类型的隐含转换,这就涉及了自动强制类型转换问题。例如,在c十十中可将一浮点赋予整型变量,并去掉其尾数。Java不支持c十十中的自动强制类型转换,如果需要,必须由程序显式进行强制类型转换。

Java是一个严进行类型检查的程序语言,对于下面这样的程序,在C的编译器上编译时最多只会出现警告的信息,但是在Java里则不予通过:

Int aInteger; Double aDouble=2.71828; AInteger = aDouble;

虽然这样的转型在C里是合法的,但是也会造成数据精确度的损失。Java为了要确定写程序的人充分地了解这点,必须要程序设计强制转型(type casting),Java的编译器才会接受:

int aInteger;

doublea Double=2.71828;

aInteger=(int)aDouble;

(47)对C而言,类库一旦升级,则必须对应用程序进行重新编译,否则就无法使用升级后类库的新增功能。而Java语言在其支持的类库升级后,只需要直接覆盖上已有的类库,不需要重新编译相应的应用程序。

(48)java不再有structure、union及typedef

事实上,早在C中就可以去掉C语言中的structure和union等对复杂数据的自定结构类型,因为类(Class)的定义方式可以完全做到这项 功能。而typedef也是不必要的,一切都用类就可以了。虽然C这样的设计是为了和C语言兼容,但是使用多余的语言特点不但不必要,而且容易造成对 程序认识的混淆。

(49)和C连接

不管Java是多么强大,总是有人需要把它和C连接起来。因为只要有一个新的程序语言或是软件开发工具一出现,大家就会问:"它是否具有和原有程序库 连接的能力呢?"也因为C语言在电脑界中占了很重要的地位。大家的问题其实就等于是直接问"它是否可以和C连接?"。目前在Java中,的确提供 了和C语言连接的方法,它的做法基本上是先将C语言所写的程序建构成动态链接函数库(DynamicLinking Library,DLL),再由Java程序去调用DLL里的函数。

这种连接的方式,使得DLL中的函数,从Java的光看就是一个"方法"。不过因为这种方法是直接由其他的程序语言所提供,而不是以Java语言所写的,所以它被称之为"原生方法"(NativeMethod)。由于Java Applet一些安全上的限制,所以这种连接外部程序的方法只能用在Java Application内

50)C++的跨平台问题!

Java编译器所生成的代码可以不基于任何具体的硬件平台,而是基于一种抽象的机器---虚拟机。而c,c的源程序要在不同平台上运行,必须重新编译。

不论是C还是C都会有依赖平台与实现的不同比如int的大小。

由于C以及C库功能基本都是最简化的。所以基本没法开发什么比较有用处的可移植代码.比如GUI的不同,socket实现的不同等等都制约了C的可移植性


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/sanxing/article-58491-14.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 贾明明
      贾明明

      还说实力远超日本

    • 王玮琳
      王玮琳

      一个浙江财经学院教授在研究问题时就只有一个3000万的推测数据吗

    • 安邑坊女
      安邑坊女

      由多艘军舰护航

    热点图片
    拼命载入中...