Java既具有解释型语言的特征,又具有编译型语言的特征(Java程序会经过先编译后解释两个步骤)。
理由:Java语言编写的程序需要经过编译(javac.exe)步骤生成与平台无关的字节码,而字节码又需要Java解释器(java.exe,JVM的一部分)来解释执行。
Java解释器规定:如需某个类能够被java.exe直接执行,那么其必须包含public static void main(String[] args){}方法。
何为编译型语言?(C,C++)
使用专门的编译器,针对特定的平台(操作系统)将源代码一次性转换成该平台硬件能够识别的可执行的机器码,并将其包装成可执行性程序的格式。
何为解释型语言?(JavaScript,python)
使用专门的解释器,将源代码逐行解释成特定平台的机器码并立即执行
告诉JRE在哪里搜索执行的Java类,通常无需设置CLASSPATH环境变量。因为JDK会自动在当前路径下搜索类。但如果设置了CLASSPATH环境变量,那就需要在CLASSPATH环境变量中增加一个点号(.)代表当前路径。
结构化程序设计方法主张按功能来分析系统需求,其主要原则可概括为自顶向下,逐步求精,模块化等。
局限:
设计不够直观,与人类习惯思维不一致;
理由:采用结构化程序分析、设计时,开发者需要将客观世界模型分解成一个一个功能,每个功能用以完成一定的数据处理
适应性差,可扩展性不强。
理由:结构化设计采用自顶而下的设计方式,所以当用户的需求发生改变,或需要修改现有的实现方式时都需要自顶而下地修改模块结构,这种方式的维护成本相当大
Java虽然是面向对象的,但其方法里则是一种结构化的程序流。
抽象就是忽略一个主题中与当前目标无关的那些方面,以便充分地注意与当前目标有关地方面。
为什么说抽象是面向对象的重要组成部分,但不是其特征之一?
理由:所有的编程语言都需要抽象。
编程语言领域还有“基于对象”的概念,没有继承、多态的特点。(JavaScript)
原文:https://www.cnblogs.com/jtStudy/p/14593719.html