1.面向对象?
基于面向过程,将功能封装到对象,由对象实现具体的功能。
2.面向对象的核心?
类和对象。
3.类和对象的关系?
类:抽象 不占内存
对象:具体 占内存
4.面向对象的特性?
封装,继承,多态
5.封装?
定义:将内部细节隐藏起来,只提供对外访问数据的接口
体现:将成员属性声明为私有,对外提供set和get 方法
优点:提高了程序的可维护性,安全性
6.继承?
定义:子类拥有了父类的属性(成员属性,成员方法)
使用:Sunclass extends SuperClass{ }
有点:提升了代码的复用性
this:当前对象
super:父类对象
7.多态?
定义:同一个动作作用于不同的对象产生的不同行为。
分类:编译时多态和运行时多态
①编译时多态:静态方式 方法重载:在编译期间可以根据形参列表不同知道调用的是哪个方法
②运行时多态:动态的方式 动态绑定:在运行期间才能确定对象的类型,才能调用相应的方法
总结:父类的引用指向子类的对象
体现方式:
①方法重载
②方法重写
③对象的多态性(运行时多态)
对象的多态性:
①存在继承关系
②方法的重写
方法重写 override:
①子类重写父类的方法
②方法名以及形参相同必须保持一致
③子类方法的修饰符权限不能低于父类的权限
方法重载 overload:
①在同一个类中,方法名相同
②方法的形参列表不同(类型或顺序或个数)
多态的好处:
①可以屏蔽子类之间的差异性
②提高了程序的可扩展性
③减少了各个模块之间的耦合度
8.抽象类和接口
抽象类:abstract class
接口:interface 接口名称
包含的内容:
①抽象方法 public abstract
②静态的常量 public static final
接口的作用:
①可以将不同的类或者不同层次的类具有的相同的行为抽象为一个集合
②接口是对一组方法的声明
③提高了程序的可扩展性