将高级语言编写的源文件转换为机器指令有两种方式
(1)编译方式:针对当前处理器的类型,将原文件全部翻译成机器指令,成为目标程序,再将目标程序交由计算机执行。
(2)解释方式:根据当前的处理器芯片,边解释边执行,解释一句执行一句。
综上,高级计算机语言都需要编译器和解释器。java语言的处理介于上述两者之间,它不针对当前的CPU芯片编译,java提供的编译器把源文件编译为一种中间代码称为字节码,这是一种很接近机器码的文件,可以在提供额JVM的任何机器上执行。当字节码加载到内存中时,再由java的解释器按照方式2执行,所以从本质上来说,java还是属于解释执行语言。
通常,同一个程序,解释执行的运行速度低于编译执行的,但对于java来说,差别并不大。java的字节码经过精心设计,可很容易的使用即时编译方式(JIT)将机器码转换为高性能的本地机器码。JIT是java虚拟机的一部分。
主要的面向对象编程的三个特性:
封装:通过抽象,将具体的实例抽象为一般的概念。对象抽象为类。
继承:子类尅继承父类的属性功能,又能灵活的扩展自己的属性功能。
多态:操作名称的多态(向操作传递不同的消息得到不同的操作)和继承有关的多态(同一个操作被不同对象调用时产生不同的行为);
面向对象编程的一个重要原则就是避免一切从头做起