Java如何实现跨平台?
.java文件经过编译器编译成一种中介码,也就是.class文件。不过.class不是硬件系统最终能处理和认识的机器指令,需要一个翻译系统将其翻译成机器能认识的基本指令,而java平台中的虚拟机(jvm)就充当了这个翻译系统。Java虚拟机将根据不同的硬件平台把.class文件翻译成当前机器认识的指令系统。从而实现跨平台。
Java中的多态
- 面向对象的三大特性:封装,继承,多态。从一定的角度来看,封装和继承都是为多态准备的。
- 多态的定义。允许不同的类(父类,子类)的对象对同一消息做出不同响应。也就是说,同一个消息(同一个方法,也就是函数调用)根据发送对象的不同而采用多种不同的行为方式。
- 实现多态的技术称为:动态绑定。在编译时,根据引用变量的声明类型决定与哪个方法进行方法的匹配。而在运行时Java虚拟机会根据所引用对象的实际类型去调用实际类型相应的方法。
多态实现的三大条件:
一、 要有继承。
二、 要有重写。
三、 父类引用指向子类的对象。
记住一个原则:一个类型引用,只能调用引用类型自身的含有的方法和变量。(但是如果有继承,有重写方法,有父类引用指向子类的对象。那么指向子类对象的父类引用调用该重写方法时,将会调用子类的重写的方法)。这就是多态了。
Java的封装性
不能让外面的类随意修改一个类的成员变量。在定义一个类的成员(包括变量和和方法,使用private关键字说明这个成员的访问权限,只能被这个类的其他成员方法调用。)
可为这些封装的属性创建取值和赋值的方法,用于对这些属性的访问。