JAVA中类和对象的理解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JAVA中类和对象的理解

Java是面向对象的编程语言,哪么什么是对象?一句话,万物皆对象。只要你想得到,无论是实体,还是一些虚拟的事物,都可以称之为对象。换言之,Java作为面向对象的编程语言,意味着可以把任何形式的内容转化为编程语言进行软件开发。

先说什么是类,什么是对象,这样在进行面向对象编程中,才能有比较完备的面向对象的编程思想。

既然万物皆对象,我们编程,用编程语言来描述对象,不能为浩繁纷杂每一个对象进行相应描述,这就涉及到一个具体到抽象的过程了。其实我们的语言已经做到这一点了。我们平时说道的每一个名词,其实都是对现实世界中的一个个具体的“物体”(或称为“实体(Entity)”)相应的特征和行为抽象出来,并且将各种具有相同特征的“物体”分为一个个的“类(class)”,就是我们为每一类事物起的名字。比如:汽车、食物、狗、人这些词等等。

我们用一个具体的例子来进一步说明“类”和“对象”之间的联系与区别。以汽车为例,只要是汽车,都应该有以下一些“属性”:轮子、引擎、方向盘、刹车等等组件,可以通过一些“方法”来操作汽车,改变汽车的状态,如加速、转向、减速等,这些都是汽车的共性。具体到某辆汽车,它可能有80cm的轮子、40cm的方向盘、A6引擎,它是一个确定的实例。“汽车”这个名词就是“类”,一辆辆真实的汽车就是“汽车”这个类的实例化。

我们每天的生活、工作,无时无刻不在和“对象”打交道----衣服、食物、房子、汽车等。我们仔细想想,就会发现,当我们处理这些对象时,我们不会将这些对象的属性(对象所具有的特点)和操作分开。如我们进出“房间”时,我们不会将“房门”这个属性和“开门”这个操作分开,它们是联系在一起的。那么,面向对象编程思想力图使得程序和现实世界中的具体实体完全一致。这样,可以让程序员乃至非专业人员更好的理解程序。所以Java 语言还是很好阅读的。

类和对象是面向对象编程思想中的核心和基础。类是作为对象的抽象而存在的,所有的对象都依据相应的类来产生,在面向对象的术语中,这个产生对象的过程称为“实例化”。

前面说了,类可以看做是对象的抽象,它是用来描述一组具有相同特征对象的。那么,对象中,最重要的两种特征内容,就是:

1.数据:数据就是描述对象的信息的静态信息了。比如一辆汽车,它的型号,价格,出厂日期等等,都是这个汽车对象的静态信息数据。

2.行为:行为就是这个对象可以完成的动作、操作等,是对象的动态特征。接上个例子,汽车可以启动,行驶,刹车等等,都是这辆汽车的动态特征。

通过这两方面的特征内容,基本上这个对象就可以描述清楚了。

Java中类就是完全模拟了类的特征内容。在Java类的定义规范里面,有两方面内容来对应类中的数据和行为:

1.属性:用来描述对象的数据元素称为对象的属性(也称为数据/状态)

2.方法:对对象的属性进行的操作称为对象的方法(也称为行为/操作)

Java中类的声明语法规范(即如何定义一个标准的Java类)

语法规则:

[< modifiers>] class < class_name>

{

[]

[]

[]

}

中括号[<……>]中的内容,说明是可以省略的。<……>尖括号中的内容,是必须做出定义的。其他的内容即关键字和最基本的符号。比如class,说明定义了一个类,而不是其他的Java语言组件内容。

下面是简单的说明:

为修饰符,可用的有public,abstract和final等关键字(关键字是Java 语言中赋以特定含义、并用做专门用途的单词,类名、方法名和属性名以及变量名不能是关键字),用于说明所定义的类有关方面的特性。对于各种关键字和它们的含义以及各自的适用范围,请看后续的介绍。

class也是Java语言关键字,表明这是一个类的定义。

是类的名字,如示例中的“Student”,类名一般使用一个用于表示这个类的名词来表示;这里就说明定义了一个学生类,用来描述一组学生对象。

是属性声明部分,如示例中的“age”、“name”、“sex”、“grade”。具体语法请看后面部分内容。

是构造器声明部分。具体语法请看后面部分内容。

是方法声明部分,如示例中的public void setGrade(int student_grade)、public int getGrade()等。具体语法请看后面部分内容。

类中属性和方法的声明定义

类的定义中所包含的数据称为属性,也称为全局变量,这是相对于局部变量来讲的,如示例中的Student类中定义了4个属性----name,sex,grade,age。属性声明的语法规则如下:

[< modifiers>] < attr_name>;

其中:

< modifiers>为修饰符,可用的有public,private,protected,final,static等,用于说明该属性的一些性质;

是该属性的数据类型,可以是任何合法的Java数据类型;

是属性名称,属性名称的首字母一般采用小写方式。

类的定义中还可以包含方法的声明,其语法规则如下:

< modifiers> ([< argu_list>])

{

[< statements>]

}

其中:

< modifiers>为修饰符,可用的有public,private,protected,abstract,static 和final,用于说明方法的属性;

是该方法的返回值类型,可以是任何合法的Java数据类型;

相关文档
最新文档