1、多态 Polymorphism:一个对象具有多种形态。当用父类引用子类对象时,子类对象呈现多态性。一个引用对象可以是其声明类型或者它的任何子类型。
例如:
public interface Vegetarian{}
public class Animal{}
public class Deer extends Animal implements Vegetarian{}
Deer是Animal,Deer也是Vegetarian。因此,一个Animal或Vegetarian对象都可以是Deer。
Deer d = new Deer();
Animal a = d;
Vegetarian v = d;
Object o = d;
2、虚方法:当用父类对象引用初始化的子类类型时,若父类方法被子类重写(override),则在编译时,编译器调用父类的方法,而在程序运行时,JVM中调用的却是初始化类型子类的被重写的方法。该行为被称为虚拟方法调用,该方法被称为虚拟方法。
3、抽象类:不能被实例化,必须被继承,其中的抽象方法必须被子类重写(override)。
4、封装:类的成员变量访问权限设定为private,方法权限设定为public,通过公共方法才能访问私有成员变量。保证了使用的安全性。
5、接口:一种抽象类型,是抽象方法的集合。子类通过继承接口的方式,从而来继承其中的抽象方法。