java中的面向对象的三大基本特征是:【封装】、【继承】、【多态】
  封装:对象要有一个明确的边界;边界的划分(对象各司其职、对象的粒度、对象的可重用性)
     - 属性(bean、pojo):私有的private,有set和get方法
- 方法:公开或私有 ,public/private
- 方法声明和实现(interface,implements)
继承:共性放到父类,特性放到子类;子类,父类 --> 其实就是特殊 --> 一般
     - 关键字: extends
- java中一个类最多只能有一个直接的父类,即单继承(具有简单性、树形结构)              tip:java中要实现多继承,通过接口来实现。
- 父类中所有属性和方法都能继承给子类;父类中的私有方法不能继承给子类。
- java中的访问修饰符                                | 访问修饰符 | 访问权限 | 继承 |               | private | 本类 | 不能继承 |               | default | 本类+同包 | 同包子类可以继承 |               | protected | 本类+同包+不同子包 | 可以继承 |               | public | 公开 | 可以继承 |  
 
 
      多态:运行时多态(子类的对象放在父类的引用中,例如 Animal a=new Dog,子类对象当父类对象来使用。)
  
     - 多态原则:         
 (1)对象类型不变
 (2)只能用引用调用其引用类型中定义的方法
 (3)运行时,根据对象的实际类型去找子类覆盖之后的方法
 例子:
 有Animal类中有eat()和sleep()两个方法,sleep()中睡8小时;子类Dog中有
 eat()方法,sleep()方法中睡6小时,还有wangwang()方法。
 现创建Animal a=new Dog(); 不能调用a.wangwang(),调用a.sleep()输出睡6小时。
- 对象的强制转换 :       
 格式: 引用 instanceof 类型
 引用所指的对象是否与类相符,返回值boolean值。
 用法:
 Animal a=new Cat();
 if(a instanceof Dog)
 {
 Dog d=(Dog)a;
 d.wangwang();
 }
 说明:如果只有Dog d=(Dog)a;运行时错误,因为a是Cat而不是Dog (多态原则第一条)
- 多态的灵活变换          
 (1)用于参数列表上:
 public void m(A a){} 可以用A类的任何子类对象作为参数
 (2)用在返回值上:
 public A m(){}  这个方法可能返回A类的任何子类对象
 
 
java中三大基本特征
原文:http://www.cnblogs.com/codekey/p/4356672.html