试验四
类和对象的创建
一. 类的定义
类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类用来定义对象的模板。
类的实现包括两部分:类声明和类体。基本格式为:
修饰符 class 类名 [extends 父类名] {
/*类体的内容*/
}
1. 类声明
以下是一个类声明的例子。
static修饰的变量 class People成为类声明,People是类名。习惯上,类名的第一个字母大写,但这不是必须的。类的名字不能是Java中的关键字,要符合标识符规定,即类的名字可以由字母、下划线、数字或美元符号组成,并且第一个字母不能是数字。但给类命名时,最好遵守下列规则:
(1) 如果类名使用拉丁字母,那么名字的首写字母使用大写字母,如Hello、Time、People等。
(2) 类名最好容易识别,当类名由几个“单词”复合而成时,每个单词的首写字母使用大写,如BeijingTime、AmericanGame、HelloChina等。
2. 类体
编写类的目的是为了描述一类事物共有的属性和功能,描述过程由类体来实现。类声明之后的一对大括号“{”、“}”以及它们之间的内容称为类体,大括号之间的内容称为类体的内容。
类体的内容由两部分构成:一部分是变量的定义,用来刻画属性;另一部分是方法的定义,用来刻画功能。
下面是一个类名为“Trapezia”的类,类体内容的变量定义部分定义了4个float类型变量:top、bottom、high和laderArea,方法定义部分定义了两个方法:“getArea”和“setHigh”。
二. 对象
1. 对象的创建
创建一个对象包括对象的声明和为对象分配内存两个步骤。
(1) 对象的声明。
一般格式为:
类的名字 对象名字;
如:
这里People是类的名字,zhubajie是我们声明的对象的名字。
(2) 为声明的对象分配内存。
使用new运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法(你一定还记得构造方法的名字必须和类名相同这一规定),如:
例1:
「注」如果类里定义了一个或多个构造方法,那么Java不提供默认的构造方法。
2. 对象的使用
对象不仅可以改变自己变量的状态,而且还拥有了使用创建它的那个类中的方法的能力,对象通过使用这些方法可以产生一定的行为。
通过使用运算符“.”,对象可以实现对自己的变量访问和方法的调用。
例2:
程序执行结果如下:
类中的方法可以操作成员变量,当对象调用该方法时,方法中出现的成员变量就是指该对象的成员变量。在上述代码中,当对象zhubajie调用speak方法后,就将自己的头修改成:“歪着头”。同样,对象sunwukong调用speak方法后,也将自己的头修改成:“歪着头”。
3. 对象的引用和实体
当用类创建一个对象时,类中的成员变量被分配内存空间,这些内存空间称为该对象的实体,而对象中存放着引用,以确保实体由该对象操作使用。
再以例1中的Point类为例,假如分别使用类的构造方法Point(int x, int y)创建了两个对象p1、p2:
那么内存模型如图4-1-1所示:
类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类用来定义对象的模板。
类的实现包括两部分:类声明和类体。基本格式为:
修饰符 class 类名 [extends 父类名] {
/*类体的内容*/
}
1. 类声明
以下是一个类声明的例子。
static修饰的变量 class People成为类声明,People是类名。习惯上,类名的第一个字母大写,但这不是必须的。类的名字不能是Java中的关键字,要符合标识符规定,即类的名字可以由字母、下划线、数字或美元符号组成,并且第一个字母不能是数字。但给类命名时,最好遵守下列规则:
(1) 如果类名使用拉丁字母,那么名字的首写字母使用大写字母,如Hello、Time、People等。
(2) 类名最好容易识别,当类名由几个“单词”复合而成时,每个单词的首写字母使用大写,如BeijingTime、AmericanGame、HelloChina等。
2. 类体
编写类的目的是为了描述一类事物共有的属性和功能,描述过程由类体来实现。类声明之后的一对大括号“{”、“}”以及它们之间的内容称为类体,大括号之间的内容称为类体的内容。
类体的内容由两部分构成:一部分是变量的定义,用来刻画属性;另一部分是方法的定义,用来刻画功能。
下面是一个类名为“Trapezia”的类,类体内容的变量定义部分定义了4个float类型变量:top、bottom、high和laderArea,方法定义部分定义了两个方法:“getArea”和“setHigh”。
二. 对象
1. 对象的创建
创建一个对象包括对象的声明和为对象分配内存两个步骤。
(1) 对象的声明。
一般格式为:
类的名字 对象名字;
如:
这里People是类的名字,zhubajie是我们声明的对象的名字。
(2) 为声明的对象分配内存。
使用new运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法(你一定还记得构造方法的名字必须和类名相同这一规定),如:
例1:
「注」如果类里定义了一个或多个构造方法,那么Java不提供默认的构造方法。
2. 对象的使用
对象不仅可以改变自己变量的状态,而且还拥有了使用创建它的那个类中的方法的能力,对象通过使用这些方法可以产生一定的行为。
通过使用运算符“.”,对象可以实现对自己的变量访问和方法的调用。
例2:
程序执行结果如下:
类中的方法可以操作成员变量,当对象调用该方法时,方法中出现的成员变量就是指该对象的成员变量。在上述代码中,当对象zhubajie调用speak方法后,就将自己的头修改成:“歪着头”。同样,对象sunwukong调用speak方法后,也将自己的头修改成:“歪着头”。
3. 对象的引用和实体
当用类创建一个对象时,类中的成员变量被分配内存空间,这些内存空间称为该对象的实体,而对象中存放着引用,以确保实体由该对象操作使用。
再以例1中的Point类为例,假如分别使用类的构造方法Point(int x, int y)创建了两个对象p1、p2:
那么内存模型如图4-1-1所示:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论