16. Java面向对象的三个特征与含义

2016/9/29 11:56 上午 posted in  Java comments

封装

封装:Java将现实中的对象抽象成一个类,并对它的属性和方法进行屏蔽保护,只允许特定的类可以访问,其它的进行隐藏,这个过程叫做封装。

继承

继承:当两个类的关系是is-a的时候,可以考虑使用继承。它是一种层次结构,类的重用方式。当一个新类从现有类中派生出来,这个过程叫做继承。新类继承了原有类的属性和方法。缺点是继承树过于庞大之后,会导致子类继承后负担重,很多不需要的成员变量也被继承下来,整个类结构过于臃肿。

多态

多态:允许不同类的对象对同一消息做出不同的响应。灵活抽象行为共享的优势。多态机制使具有不同内部结构的对象可以共享相同的外部接口。这意味着,虽然针对不同对象的具体操作不同,但通过一个公共的类,它们(那些操作)可以通过相同的方式予以调用。父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。

多态存在的三个必要条件
一、要有继承;
二、要有重写;
三、父类引用指向子类对象。

class A {
    public void show(){
        System.out.println("This is A.");
    }
}

class B extends A{
    public void show(){
        System.out.println("This is B.");
    }
}

class C extends A{
    public void show(){
        System.out.println("This is C.");
    }
}

class Main {
    public static void main(String[] args) {
        A a = new A();
        a.show();
        A b = new B();
        b.show();
        A c = new C();
        c.show(); 
    }
}

输出

This is A.
This is B.
This is C.