一、封装:就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操

作,对不可信的进行信息隐藏。
二、继承:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

通过继承创建的新类称为“子类”或“派生类”。被继承的类称为“基类”、“父类”或“超类”。继

承的过程,就是从一般到特殊的过程。
三、Java中的引用变量有两个类型,一个是编译时的类型,一个是运行时的类型,编译时的类型由声明

该变量时使用的类型决定,运行时的类型由实际赋给该变量的对象决定。如果编译时的类型与运行时的

类型不一致就会出现所谓的多态。BaseClass t=new SubClass();说明:属性和方法的值。(1)如果

BaseClass有个属性是s,SubClass也有个属性是s,则t.s调用的值是BaseClass的属性值。(2)如果

BaseClass有个方法是f(),SubClass也有个方法是f(),则t.f()调用的方法是SubClass的方法。

动态绑定:在运行时根据对象的类型进行绑定。编译器一直不知道对象的类型,但是方法调用机制能找

到正确的方法体。一旦知道Java中所有方法都是通过动态绑定实现多态这个事实之后,我们就可以编写

只与基类打交道的程序代码,并且这些代码对所有的导出类都可以正确运行。或者说,发送消息给某个

对象,让该对象去断定应该做什么事。

“多态”意味着“不同的形式”,在面向对象的程序设计中,我们持有相同的外观(基类的通用接口)以

及使用该外观的不同形式:不同版本的动态绑定方法。举例来说就是:
BaseClass t=new SubClass1();
或者
BaseClass t=new SubClass2();
但是都使用t.f()去实现某个功能,但是具体怎么实现该方法却是各异的。