**
JAVA基础知识(三)
**
第五章 面向对象编程(基础篇)
**
需要达到的目标:
1.了解面向对象的三大特征。
2.掌握类与对象的关系、定义及使用。
3.掌握对象的创建格式,并可以创建多个对象。
4.掌握对象的内存分配过程。
5.掌握封装性的概念及使用。
6.掌握构造方法的定义格式、调用时机、构造方法的重载、构造方法的私有化意义。
7.掌握匿名对象的概念及应用。
8.可以通过所学到的知识完成简单类的开发。
9.掌握String类的特点及其主要的操作方法。
10.掌握this关键字的作用,并可以使用this关键字完成对象的比较操作。
11.掌握static关键字,并可以阐述出static属性及static方法的特点。
12.掌握主方法的组成及运行时的参数传递。
13.掌握Java中的普通代码块、构造块、静态块3种代码块的使用方法。
14.掌握内部类的特点及应用,以及内部类调用方法中参数的要求。
5.1 面向对象的基本概念
面向对象的程序设计有3个主要的特性:封装性、继承性、多态性。
1.封装性
封装是面向对象的方法所应遵循的一个重要原则。它有两个含义:一是指把对象的属性和行为看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立单位(即对象)中。另一层含义指“信息隐蔽”,把不需要让外界知道的信息隐藏起来,有些对象的属性及行为允许外界用户知道或使用,单不允许更改,而另一些属性或行为,则不允许外界知晓;或只允许使用对象的功能,而尽可能隐蔽对象的功能实现细节。
封装机制在程序设计中表现为,把描述对象属性的变量及实现对象功能的方法合在一起,定义为一个程序单位,并保证外界不能任意更改其内部的属性值,也不能任意调动其内部的功能方法。
封装机制的另一个特点是,为封装在一个整体内的变量及方法规定了不同级别的“可见性”或访问权限。
2.继承性
继承是面向对象方法中的重要概念,并且是提高软件开发效率的重要手段。
首先拥有反映事物一般特性的类,然后在其基础上派生出反映特殊事物的类。如已有的汽车的类,该类中描述了汽车的普通属性和行为,进一步再产生轿车的类,轿车的类是继承于汽车类,轿车类不但拥有汽车类的全部属性和行为,还增加轿车特有的属性和行为。
在Java程序设计中,已有的类可以是Java开发环境所提供的一批最基本的程序——类库。用户开发的程序类是继承这些已有的类。这样,现在类所描述过的属性及行为,即已定义的变量和方法,在继承产生的类中完全可以使用。被继承的类称为父类或超类,而经继承产生的类称为子类或派生类。根据继承机制,派生类继承了超类的所有成员,并相应地增加了自己的一些新成员。
面向对象程序设计中的继承机制,大大增强了程序代码的可复用性,提高了软件的开发效率,降低了程序产生错误的可能性,也为程序的修改扩充提供了便利。
若一个子类只允许继承一个父类,称为单继承;若允许继承多个父类,称为多继承。目前许多面向对象程序设计语言不支持多继承。而Java语言通过接口(interface)的方式来弥补由于Java不支持多继承而带来的子类不能享用多个父类的成员的缺点。
3.多态性
多态是面向对象程序设计的又一个重要特征。多态是允许程序中出现重名现象。Java语言中含有方法重载与对象多态两种形式的多态。
**方法重载:**在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。
**对象多态:**子类对象可以与父类对象进行相互转换,而且根据其使用的子类的不同完成的功能也不相同。
多态的特性使程序的抽象程度和简捷程度更高,有助于程序设计人员对程序的分组协同开发。