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

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

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

Java不支持操作符重载。操作符重载被认为是c的突出特征,在Java中虽然类大体上可以实现这样的功能,但操作符重载的方便性仍然丢失了不少。

Java语言不支持操作符重载是为了保持Java语言尽可能简单。 C中使用操作符重载主要是可以使你的程序看起来更为自然。

如下面是一个程序自定义的复数类:

C中自定义的复数类及

0pemtor Overloading class Complex

{ public: Complex(double real,double image)

{

Real_number=real; Image_number=image;

} Complex operator(Complex&rhs)

{

Return Complex(rhs.real_numberreal_number,rhs.image_numberimage_,nulnbef);

}

private:

doublereal_number 实部

doublejmage_nunmber; 虚部

}

在这里,如果你使用来作为复数的加法符号,大家都不会有疑义,但是如果你使用的是*或》这样的符号,那么别人看到你的程序之后,难保不会产生认识上的错误。这也是Operator Overloading一大问题,当大家都对运算符赋予自己的定义后,整个程序的可读性就会大受影响。Operator Overloading的存在并不是必要的,我们一样可以定义类中的方法来达到同样的目的.

(36) 通过事先的约定,C中经常出现的const问题在Java里已得到了控制。

我们只能传递指向对象的句柄,本地副本永远不会为我们自动生成。若希望使用类C按传递那样的技术,可调用clone(),生成自变量的一个本地副 本(尽管clone()的设计依然尚显粗糙)。根本不存在被自动调用的副本构建器。为创建一个编译期的常数,可象下面这样编码:

static finalint = 255

static finalint B = 8 *

(37) 由于安全方面的原因,“应用程序”的编程与“程序片”的编程之间存在着显著的差异。 一个最明显的问题是程序片不允许我们进行磁盘的写操作,因为这样做会造成从远程站点下载的、不明来历的程序可能胡乱改写我们的磁盘。随着Java 1.1对数字签名技术的引用,这一情况已有所改观。根据数字签名,我们可确切知道一个程序片的全部作者,并验证他们是否已获得授权。Java 1.2会进一步增强程序片的能力。

(38) 由于Java在某些场合可能显得限制太多,所以有时不愿用它执行象直接访问硬件这样的重要任务。

Java解决这个问题的方案是“固有方法”,允许我们调用由其他语言写成的函数(目前只支持C和C)。这样一来,我们就肯定能够解决与平台有关的问题(采用一种不可移植的形式,但那些代码随后会被隔离起来)。程序片不能调用固有方法,只有应用程序才可以。

(39) Java提供对注释文档的内建支持,所以源码文件也可以包含它们自己的文档。

通过一个单独的程序,这些文档信息可以提取出来,并重新式化成HTML。这无疑是文档管理及应用的极大进步。

(40) Java包含了一些标准库,用于完成特定的任务。

C则依靠一些非标准的、由其他厂商提供的库。这些任务包括(或不久就要包括):


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

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

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