1.定义类
在客观世界中,人们总是把某些具有相同特征和行为的事物归为一类,面向对象程序设计中的“类”也与此相似。Java是面向对象的程序设计语言,类是面向对象的重要内容,类创建出对象。类是面向对象程序设计的核心概念之一,一个用户自定义的类就是一个新的数据类型。我们可以将类认为是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都是引用变量。也就是说所有类是引用数据类型。
图6-1 类与对象关系
面向对象的程序设计过程中有两个重要概念,一个是类(class),一个是对象(ob-ject,也被称为实例)。其中类是某一批对象的抽象,它是概念性质的存在,而对象才是一个具体存在的实体。类是相同或相似的各类事物间共同特性的一种抽象。即类是数据和对数据进行操作方法的集合体。在设计类时,应该抓住类是对象抽象的要点,抽取对象或实例的属性和行为,要看所设计类的用途。类和对象的关系如图6-1所示。
Java语言提供了对创建类和创建对象简单的语法支持。
定义类的简单语法如下:
在上面的语法格式中,修饰符可以是public、final,或者完全省略这两个修饰符。按照规定,Java语言中的所有类名都以大写字母开头,并且类名中包含的每个单词的首字母都大写(如Sample Class Name)。Java类名是一种标识符,即由字母、数字、下划线(_)和美元符()组成的字符串。不能以数字开头,中间不能有空格。例如,World1_value,value和Come2,都是有效的标识符;而4come和inputcome都不是有效地标识符。在Java中大写字母和小写字母是不同的,例如a1和A1是两个不同的标识符。
对一个定义类来说,包含的最常见的部分是构造器、属性、方法三个部分,都可以定义零个或多个。如果三部分都定义了零个,则定义了一个空类型,这三个部分合起来就是类体。Java规定每个类声明的体都必须以左花括号({)开头,并以一个相应的右花括号(})结束类的声明。其中类体中的构造器是一个类创建对象的根本途径,如果一个类没有构造器,这个类通常无法创建实例。因此,为避免出现构造器丢失的情况,Java语言提供了一种特殊的功能:如果程序员没有为一个类编写构造器,系统会自动为该类提供一个默认的构造器。一旦用户为类编辑了构造器,则系统将不会为该类提供一个构造器。
2.定义属性
正如现实生活中每个对象都有其特殊的属性(如大小、名字、颜色),在Java面向对象程序设计中,每个对象也有相应的特性和特征,称其为属性。属性用于定义该对象的类或者该类的实例所包含的数据。
定义属性的语法格式如下:
[修饰符]属性类型属性名[=默认值]
属性语法格式的详细说明如下:
1)修饰符:修饰符可以省略,也可以是public、protected、private、static、final,其中pub-lic、protected、private三个最多只能出现其中之一,可以与static、final组合起来修饰属性。(www.xing528.com)
2)属性类型:属性类型可以是Java语言允许的任何数据类型,包括基本类型和引用类型。
3)属性名:属性名只要是一个合法的标识符即可,但如果从程序的可读性角度来看,属性名应该由一个或多个有意义的单词连缀而成。
4)默认值:定义属性还可以定义一个可选的默认值。
3.定义方法
现实生活中,具体事物都有行为,例如球可以滚动、弹跃、膨胀、收缩,婴儿会哭、睡觉、爬行、走路,汽车可以刹车、加速、减速、改变档位。这些行为抽象起来都是对象的动作。而方法就是描述对象的动作,即表示客观事物的动态特性(对数据的操作),描述这个对象“做什么”。方法用于定义该类或该类的实例行为特征或功能实现。
在Java中,必须通过方法才能完成对类和对象属性的操作。方法只能在类的内部声明并加以实现。一般在类体中声明属性之后再声明方法。
定义方法的语法格式如下:
方法语法格式的详细说明如下:
1)修饰符。方法的修饰符可以分为存取权限修饰词、方法存在性修饰词、方法操作相关修饰词。存取权限修饰词用来控制此方法对于其他类的可存取关系,方法存在性修饰词是方法的声明与存在方面所具备的特性,方法操作相关修饰词是方法本身操作方面的特性,以及方法之间操作的相关性。修饰词可以省略,也可以是public、protected、private、static、final、abstract,其中public、protected、private三个最多只能出现其中之一,abstract和final最多只能出现其中之一,但是它们可以与static组合起来修饰方法。
2)方法返回值类型。方法执行后可能会返回某些执行的结果,而这些执行结果可以让调用这个方法的程序利用。方法返回值类型可以是一般的原始数据类型,或者是某个对象类。如果声明了方法返回值类型,则方法体内必须有一个有效地return语句,该语句返回一个变量或者一个表达式,这个变量或表达式必须与此处声明的类型匹配。例如,对于返回值类型声明为int的方法,必须在方法主体内加入“return整数变量或值”来返回方法执行的结果。除此之外,如果一个方法没有返回值,必须使用void来声明没有返回值,表示返回值类型为空。
3)方法名称。方法名称的命名规则与属性命名规则基本相同,同样尽量使用有意义的单词,通常建议方法名称以英文中的动词开头。
4)形式参数。形式参数用于定义该方法可以接受的参数,形式参数由一到多组“参数类型形参名”组成,多个参数之间以英文逗号(,)隔开,形参类型和形参名之间用空格隔开。形式参数的格式为:
<参数类型1><参数名1>,<参数类型2><参数名2>,…
5)方法主体。方法主体里多条可执行性语句之间有严格的执行顺序,排在方法主体前面的语句先执行,排在方法主体后面的语句后执行。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。