一.基本概念
面向对象程序设计通常具有封装、继承、多态着三大特性。其着中于对象的分解与相互作用,重点强调程序代码的可读性、可重复使用性、扩展性。
二.类与对象基本概念
类:对某一类事物的描述,是抽象的、概念上的定义。类由数据成员(也称为属性、域变量、成员变量等)和函数成员(类的行为,也称方法)封装而成,类描述了对象的属性及行为。
对象:实际存在的属于该类事物的具体个体,因此也称实例。因一个对象由一组属性和对这组属性操作的方法构成,所以对象是属性和操作的封装体。
三.对象的创建与使用
类名 对象名 = new 类名();
四.面向对象的三大特性:封装 继承 多态
1.封装:类的封装指属性的封装和方法的封装。其特点是:信息隐藏、保护对象内部数据。 2.继承:允许代码的重复使用,可表达树形结构中父代与子代的遗传现象。在继承关系中,被继承者称为"基类"或"父类",继承者称为"派生类"或"子类"。继承允许定义一个新类来继承现有的类,使用或更改继承过来的方法,并可在子类中新增属性或方法。
继承的语法:
继承的特性:
- 子类继承父类所有属性和方法,且可新增属性和方法。
- 子类不继承父类的构造方法。
- 子类不继承父类使用private修饰的成员变量和方法。
- 子类的变量或者方法与父类同名,则不能继承父类该变量或方法。
3.多态:指编写程序时定义同名方法但能实现不同的功能,即"同名异式"。在Java中分静态多态和动态多态。
- 静态多态:指在编译期间就决定的多态,如重载。
- 动态多态:指在执行期间才能确定的多态,如重写
五.类的特性
构造方法
实例化时(创建对象),首先为对象分配内存,执行该类的构造方法,然后返回该对象的引用并将其赋给引用变量。类通过定义构造方法产生对象。构造方法是一种特殊的方法,其特殊性如下:
构造方法的方法名与类名相同。
构造方法没有返回值,但不需要void。
构造方法的主要作用是完成对类对象的初始化工作。
构造方法一般不能直接调用,需用new运算符进行调用
在创建一个对象的同时,系统会自动调用类的构造方法进行对象初始化。
类中如果没有构造方法,Java编译器会自动为该类生成一个默认的构造方法
六.重载与重写
重载:方法与方法之间名称相同,参数个数不同或参数类型不同。因为构造方法名称与类名一致,因此一个类中有多个构造方法,这些方法都是构造方法的重载。 this(): 同一类中从一个构造方法调用另一个构造方法,必须使用this()语句进行调用。this()语句必须写在构造方法第一行位置。this通常指当前对象
重写:发生在继承关系中。父类与子类方法同名,返回值类型相同,参数类型、参数个数、参数顺序相同。子类方法权限需大于父类,子类方法抛出异常与父类一致,子类不能重写父类声明的以final或static修饰的方法,子类必须重写父类声明的抽象方法或接口。
super:super关键字表示当前超类的对象。super关键字必须写在子类构造方法第一行位置。super表示从子类构造方法调用父类构造方法或从子类调用父类变量。this通常指父类对象。