在java中,一切皆是对象。比如小猫,小狗,小孩,山川,河流都可以看作是对象,可以用cat,dog,child,mountain,river等表示。这也就是java的一个特性——封装。世间万物都可以封装成编程所需要的对象。
java类之间允许单重继承,体现了继承性。比如动物animal类是父类,有eat,search,behavior等属性,那么小猫,cat类是动物的子类,它也有eat,search,behavior等属性。这就是子类继承了父类的属性,但是父类不能继承子类的。我们知道小猫吃鱼,但是并不是所有的动物都吃鱼,比如,羊只吃草等。所以,java的继承性是单重的继承,即子类只能继承父类的属性。
java的多态性主要体现在允许定义接口类,抽象类,子类能够覆盖和隐藏父类的变量和方法,也属于多态性。我们都知道java有继承性,那么父类定义的属性,比如eat,search,behavior都是父类的接口,即动物都可以吃东西,寻找食物和活动能属性。那么子类继承这个方法后,具体怎么吃东西,怎么寻找食物,怎么活动,就需要子类具体去实现。比如小猫吃鱼,通过眼睛找食物,可以跑,跳等;而家里养的小鱼吃鱼粮,通过眼睛找食物,可以在水里游来游去等。综上,虽然每小种动物都继承了动物的属性,但是它们各自的表现状态是不同的,这就是多态。
通过以上的讲解,我们就很容易明白java地面向对象及其封装,继承,多态地概念了。