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

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

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

JAVA的语法其实是参照c的语法诞生的,但是她去除了c中的多重继承,指针,delete等难于掌握的技术,为了便于移植和安全性,java采用了纯面向对象技术,即使是主函数public static void main(String[] args){}也要放在主类中,可以看出和C++的明显区别。

(3) 在Java中,类定义采取几乎和C同样的形式。

但没有标志结束的分号。没有类声明,只有类定义。

(4) Java中没有作用域范围运算符“::”.

Java利用点号做所有的事情,但可以不用考虑它,因为只能在一个类里定义元素。即使那些方法定义,也必须在一个类的内部,所以根本没有必要指定作用域的范围。我们注意到的一项差异是对static方法的调用:使用ClassName.methodName()。

除此以外,package(包)的名字是用点号建立的,并能用import关键字实现C的“#include”的一部分功能。

例如下面这个语句:

微信jar安装包_微信java_微信2017最新官方版本

import java.awt.*;

#include并不直接映射成import,但在使用时有类的感觉。若想使用另一个库里的类,只需使用import命令,并指定库名即可。不存在类于预处理机的宏。

c/c十十在编译过程中都有一个预编译阶段,即众所周知的预处理器。预处理器为开发人员提供了方便,但增加了编译的复杂性。JAVA虚拟机没有预处理器, 但它提供的引入语句(import)与c十十预处理器(#include)的功能类。(注意:只是类而已)(5)JAVA中没有预处理功能的详细介 绍

不再有#define、#include等预处理程序(Preprocessor)的功能。C语言很重要的一个特点就是它的预处理程序。有些其他程序 语言虽然也加入了#include的功能,但是还是欠缺处理宏(Macro)的能力。#define的功能在Java中我们可以用定义常数 (constant)的方式来取代,而#include在Java中是不需要的,因为在Java中程序在执行时,会把类型数据记录在对象实体之中,我们不 需要靠一些标头文件(header file)来知道我们使用的对象或数是属于什么数据类型。

如果你使用C语言时,只使用预处理程序的#include和#define功能的话,那么你大概不会觉得Java这样的设计对你产生什么样的困扰,但是如果你是使用C语言预处理程序中宏功能的高手,你可能会觉得很不方便,进而怀疑Java如此设计的意义何在。

使用预处理程序虽然可以很方便地达到许,但是站在软件工程的角度上看,对整个软件的维护其实是很不利的。由于C语言中预处理程序的功能太过强 大,厉害的程序设计高手常会自行开发一套只有自己看的懂的宏语言,一旦整个软件要交给其他人去维护,后继者很难在短时间内了解前一个人所写下的宏功能,增 加软件开发时团队工作及日后维护的困难度。

另外一点则是C语言的编译器所看到的程序代码,其实和程序设计者看到的程序代码是不同的。程序设计者看到的是尚未经过预处理程序处理过的程序代码,而 编译器看到的则是预处理程序处理过的程序代码,一旦交给预处理程序处理的宏内容有误,编译器产生的错误信息将不会是程序设计师所预料的。而这一点自然也增 加了程序在排错时的困难度。


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

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

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