我感觉是从面向对象的语言和能够跨平台这俩角度来说。
面向对象:
对于面向对象的语言来说,有三个特性:封装,继承,多态
1.封装
隐藏对象的内部状态,并通过公共接口暴露对象的功能。这样,即使对象的内部实现发生变化,只要公共接口保持不变,使用该对象的其他代码也不会受到影响。
2.继承
是一种使得一个类可以继承另一个类的属性和方法的机制。(父子类功能的复用跟拓展)通过继承,我们可以创建新的类,这些新类具有现有类的属性和方法,或者添加新的属性和方法。这样能够极大地提高代码的复用性,并减少代码的冗余。
3.多态
指允许不同类的对象对同一消息做出响应。(重载?)也就是说,同一个消息可以根据发送对象的不同而采取多种不同的行动。这是提高程序灵活性和可扩展性的重要方式。
跨平台角度:总结为“一次编译,到处运行”
1。字节码编译:当你使用Java编写程序时,源代码首先被编译成一种中间形式,称为字节码(.class文件)。字节码是一种与平台无关的代码格式,它是Java虚拟机(JVM)能够理解和执行的指令集。
2.Java虚拟机(JVM):JVM是Java跨平台的关键。它是运行在各种操作系统上的一个软件,负责解释执行字节码。每个支持Java的平台(如Windows、Linux、Mac OS等)都有对应的JVM实现。当Java程序在任何这样的平台上运行时,都是由该平台的JVM将字节码转换为特定平台的机器码并执行。这意味着,只要系统上有相应的JVM,Java程序就能运行,无需重新编译。
因此,理解Java的跨平台特性,核心在于认识到Java程序不是直接编译成特定硬件或操作系统的机器码,而是编译成所有JVM都能理解的通用字节码,再由JVM来桥接硬件和操作系统的差异,从而实现程序的可移植性和跨平台能力。这样,开发者只需编写一次代码,即可在多种环境中部署和运行,极大地提高了开发效率和程序的适用范围。