面向对象程序设计-类_第1页
面向对象程序设计-类_第2页
面向对象程序设计-类_第3页
面向对象程序设计-类_第4页
面向对象程序设计-类_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章 面向对象程序设计类1机器指令生成方式 将高级语言编写的源程序转化成机器指令,经常使用下列两种方式。 编译方式 Compilation:针对当前的机器处理器芯片,将源程序全部翻译成机器指令,称做目标程序,再将目标程序交给计算机执行。 解释方式 Interpretation:这种方式不产生整个的目标程序,而是根据当前的机器处理器芯片,边翻译边执行,翻译一句执行一句。 Java语言的处理方式既不是第1种也不是第2种,Java语言的创造发明之处在于,它不针对特定的CPU芯片进行编译。2字节码文件 Java提供的编译器把源程序编译成称做字节码的 一个中间代码.字节码是很接近机器码的文件,可以在提

2、供了Java虚拟机(JVM)的任何系统上被解释执行.因此,Java本质上是解释执行的程序,当字节码加载到内存之后,再由Java的解释器对字节码按上述2的解释方式执行,即翻译一句,执行一句,不产生整个的机器代码程序,翻译过程如果不出现错误,就一直进行到全部执行完毕,否则将在错误处停止执行. 同一个程序,如果是解释执行的,那么它的运行速度通常会比被编译成可执行的机器代码的运行速度慢些.3Java虚拟机 但是,对Java来说,二者的差别不太大,Java的字节码经过仔细设计,很容易便能使用JIT即时编译方式编译技术将字节码直接转化成高性能的本地机器码,Sun公司在Java2发行版中提供了这样一个字节码

3、编译器-JIT (Just In Time),它是Java虚拟机的一部分.Java 运行系统在提供JIT的同时仍具有平台独立性,因而”高效且跨平台”对Java来说不再矛盾. 如果把Java的源文件比做”汉语”的话,字节码就相当于”世界语”,世界语不和具体的”国家”有关,只要这个”国家”提供了”翻译”,就可以再快速地把世界语翻译成本地语言.4 Java是面向对象语言,它的源程序是由若干个类组成,源文件是扩展名为.java的文本文件. 因此,要学习Java 编程就必须学会怎样去写类,即怎样用Java 的语法去描述一类事物共有的属性和功能.属性通过变量来刻画,功能通过方法来体现,即方法操作属性形成一

4、定的算法来实现一个具体的功能.类把数据和对数据的操作封装成一个整体.面向对象5 类是组成Java程序的基本要素。类封装了一类对象的状态和行为,类是用来定义对象的模板。 类的实现包括两部分: 类声明和类体。语法格式如下:class 类体的内容 class是关键字,用来定义类。“class 类名”是类的声明部分,类名必须是合法的Java标识符,两个大括号以及之间的内容是类体。类的构成(1)、类名必须使用英文字母, 首字母大写,如Hello、People等。(2)、类名最好见名得意,当类名由几个”单词”组合而成时,每个单词的首字母都要大写。如 AllTime, GoodGame, BigDog等。6

5、 一部分是成员变量的定义,用来刻画状态(属性);另一部分是方法的定义,用来刻画行为(功能).语法格式如下:class ; ; ( ); ( );类的构成7 构造方法是一种特殊方法,它的名字必须与它所 在类的名字完全相同,并且不返回任何数据类型(即方法不包含返回值类型描述部分)。例如:构造方法8实例变量和类变量 成员变量用来刻画类的状态(属性),成员变量又分为实例成员变量(简称实例变量)和类成员变量(简称类变量)。 使用static修饰的成员变量即为类成员变量。1.成员变量名必须遵循标识符命名规则,同时首字母必须小写,如果由多个单词组成,从第二个单词开始首字母必须大写。2.成员变量的定义没有先后

6、顺序,但是最好将成员变量的定义集中在类的顶部。9 方法是类的重要组成部分,方法是用来描述类行为的,方法通常解决功能性问题。语法格式如下: ( ) 方法主体方法1.当一个方法不需要返回数据时,返回类型必须是void。如果方法包含多个参数,各个参数之间用逗号隔开。2.方法名必须遵循标识符命名规则,同时首字母必须小写,如果由多个单词组成,从第二个单词开始首字母必须大写。3.方法的参数在整个方法内有效,方法内定义的局部变量从它定义的位置之后开始有效,直到方法的末尾。10 方法分为类方法和实例方法。 使用static修饰的方法即为类方法。类方法和实例方法方法调用成员变量: 一个类中实例方法可以调用类中的

7、成员变量(包括实例变量和类变量);而类方法只能调用类变量,不能调用类中的实例变量。 方法之间的互相调用: 一个类中的方法可以互相调用,实例方法可以调用该类中的其它方法;类方法只能调用该类的其他类方法,不能调用类中的实例方法。11示例:类12 在类的状态描述部分定义的变量即为成员变量,在方法内定义的变量和方法的参数为局部变量。成员变量和局部变量成员变量在整个类的内部都有效。局部变量只在方法内部有效。 成员变量与它在类体中书写的先后位置无关,但不提倡把成员变量的定义分散地写在方法之间或类体的最后,习惯上先定义变量后定义方法。1.如果局部变量的名字与成员变量的名字相同,则成员变量被隐藏,即这个成员变量在同名局部变量所在方法内暂时失效。2.如果想在包含同名局部变量的方法内使用成员变量,必须使用关键字this来引用成员变量。3.成员变量可以由public、protected、private和static修饰,而局部变量不能。13示例:局部变量14变量的调用规则15方法的调用规则16 方法重载是指一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论