计算机-java程序设计_第1页
计算机-java程序设计_第2页
计算机-java程序设计_第3页
计算机-java程序设计_第4页
计算机-java程序设计_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

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

文档简介

第1第2第4第5第9Java第11第12章Java5.15.25.35.45.55.6Java5.75.8关键字5.95.10 1概抽象数据类型:是指基于一个逻辑类型的数据类型这个个类型上的一组操作。publicclassprivateintdaymonth,year;//属性Dated=new}Date(intdayintmonth,intyear){//}Date(Dated){){//}publicDatetomorrow(){//}}2定义方义相应的操作,即方法。方法定义的格式<修饰><返回类型><名字>(<参数列表>)<块 <名字> <修饰符>包括public、protected和private<参数列表>是传给方法的参数表<块>表示方法体,是实际执行的代码段3按值传Java只“按值”量的值。对象的,也就是说,传送给方法的是值。在方法内,这个值是不会被改变的,但可以修改该指向4重载方法量进行同样的操作,就需要重载方法名。 Java的重载。方法重载允许Java在同一个类中定义相同的方法名,但需要具有不同的参数表。分,因此可以定义三个方法:publicvoidprint(inti)Publicvoidprint(floatf)Publicpublicvoidprint(inti)Publicvoidprint(floatf)Publicvoidprint(Strings)publicpublicvoidprint(inti)Publicvoidprint(int重载 则对象的构造与初始化步骤分配新对象的空间,并进行默认初始化执行显式的成员初始化执行构造方法(特殊方法)1显式成员初始化:如果在成员说明中写有简单的赋值publicpublicclassInitialized{privateintx=5;privateStringname=“Fred”;priavteDatecreated=newDate();}2构造方成初始化,而显式初始化不能做到这一点。程序员编写自己的构造方法完成不同的操作。的构造方法,即构造方法可以重载。构造方法特构造方法的名字与类名相同没有返回类型通常要说明为public类型,即公有的必须为所有的变量赋初值可以按需要包含所需的参数列构造方法不能继3默认构造方象的属性值为零或空。表为空的构造方法,否则,调用newm)时会出现编译错误。 一鲸狗蛇鲸狗蛇具1“isa”关之间存在“isa”关系,即,Managerisa2extends关键派生机制:前的类来定义一个新类,新类称为子类,原来的类称作父类或超类。两类中公共的内容放到父类中,特殊的内容放到子类中。publicclassAextends}publicclassAextends}父子 继3单重继publicclassApublicclassA{publicvoidf(){…}}publicclasspublicvoid…}} Object类是Java程序中所有类的直接或间接父类派生的树状结Object类中主要方法publicfinalClassgetClass():获取当前对象所属的类publicStringtoString():按字符串对象返回当前对象本publicbooleanequals(Objectobj):比较两个对象是否protectedObjectclone():生成当前对象的一个 publicinthashCode():protectedvoidfinalizethrowsThrowable:定义回收4多态自己的新特征。的实例,但是反过来不行。例如,圆是一个对象,但不是每个对象都是圆。因此,对于需要父类类型的参数,总可以传入子类的实例。多态性:这个特征称为多态性。动态绑定:调用方法m(Objectx)时,调用了x的或Objec类的实例,GraduateStuden、Stude、 或Objet类都有自己对toStrin方法的实现,采用哪一种实现由Java虚拟机在运行时动态定,这种能力称为动态绑定。动态绑定机动态绑定机制:假设对象o是类例,其中,C1是C2的子类,C2是C3的子类和的Cn的子类,如果对象o调用一个方法m,Java虚拟机依在类中查找方法m的实现,直到找到为Java.lang.O如果o是C也是和的5方法自变量和异类集方法的参//进行计算并返回e的税}Manager…异类集合:是说,集合内所含元素的类型可以不完全一致。Employee[]Employee[]staff=newEmployee[1024]; staff[1]=new6instanceof运算以指向其子类的实例。在程序中,有时需要判明某个引用到底指向哪个实例,这可以通过instanceo运算符来实现。7转换对aa称为转换对象(ca。Employeee= Managere=newEmployee 1方法重写示通过方法的重写,可以达到语言多态性的目的子类重写父类方法的情子类要做与父类不同的事情在子类中取消这个方法子类要做比父 的事情用父类中被隐藏的方法,可以使用r关键字。2方法重写的规重写方法的允 范围不能小于原方法重写方法所抛出的异常不能比原方 3父类构造方法Java要求一个父类的对象要在子类运行前完全初始化r类的构造方法。造方法,则系统在执行子类的构造方法时会自动调用父类的构造方法(无参数的构造方法。则调用语句必须出现在子类构造方法的第一行。classclassEmployee{StringpublicEmployee(Strings){}}classclassManagerextendsEmployee{Stringdepartment;publicManager(Strings,Stringd){}}一个Java源代码文件称为一个编译单元Javapuli且该类名与文件名相同。编译单元中的其它类是该public类的支撑类经过编译,编译单元中的每个类都产生一个.class文件Java的工作程序是一系列的.clas文件,Java责寻找、加载和解释这些文件。Java包的概 程序员可以使用packag指明源文件中的类属哪个体的 语句的格式为:package packagemypackage;publicclasspackagemypackage;publicclass}mypackge.MyClassm=newimportMyClassm=new引入语句的格式importpkg1[.pkg2.[pkg3…]].(类名 层次关系及classpath环境变自定义包charpter_1.charpter_11,并定义oWorld,该类位于 中工 classpath=.;D:\Program编译类文

把生成的类文件放到 中 oWorld.class和Print.class放在 下运行应用程如果类中包含类成员(类变量/类方法),系统只在实例化象的类变量将共享同一内存空间。对象类成员共1类变量(静态变量在程序设计中,有时需要让一个变量被类的多个实例对量。关键字c。指向静态变2类方法(静态方法指向静态方一个静态方法只能 指向静态方final可以修饰类或类的成员(成员变量或成员方法)用fina被定义为fina,则不能被重写,如果一个类被定义为fina,它不能有子类。1终极被标记为final的类称为终极类, 格式如下finalclass…}终极类不能被继2终极方被标记为final的方法称为终极方法, 格式如下finalreturnTypefinalMethod… 终极类不能被重3终极变被标记为fina的变量称为终极变量量,企图改变终极变量的取值将会引起变异错误。 1抽象可以通过关键 把一个类定义为抽象类在抽象类中,每一个未被定义具体实现的方法也标,称为抽象方法抽象类的一个非抽象的子类后才能创建实例。抽象类可以包含抽象方法和非抽象方法,反之,不能非抽象类中 抽象方法,即只有抽象类才能具有抽象方法。抽象类定义…}抽象方法定义表<returnType><methodName>(参数抽象类示可以定义抽象类可以定义抽象类 变接口自变量列表以及返回类型,但不规定方法主体。因此在接口中所有的方法都是。从这个角度上讲,可以把接口看成特殊的抽象类。1的定[接口修饰符interface接口名称[extends父类名}[类修饰符[类修饰符class类名implements接口名称//其它内}接口实现测可以使用接口名称作为一变量的类/接 套接口都是成员接口 1成员成员类是在封装类或封装接口中作为成 的类成员类包含静态成员类和非静态成员类成员类具有如下特征(1) (3)非静态成员类可 封装类的所有成员(4)在成员类中 封装类实例成员的语法封装类类名.this.封装类实例成员名封装类静态成员的语法封装类类名.封装类静态例成员名 (5)可以在封装类之外创建静态成员类和非静态成员类创建静态成员类实例的语法为封封装类类名.静态成员类类名实例变量名=new封装类实例成员名.静态成员类类名;封封装类类名.静态成员类类名实例变量名封装类实例成员名.new.非静态成员类类名(6)在封装类之外 封封装类类名.静态成员类类名.静态成员名(7)接口中的成员类总是public和static的,接口中成员封封装接口名称.成员类类名.静态成员名2局部 局部类具有如下特征(1)局部类的类名不能与其封装类重名 (3)局部类中不允许包括静态成员(变量和方法) (5)不允许包括静态成员(变量和方法)(6)在局部类中可以封装类的成员,如果局部类成员与封装类成员不重名,可以直接用成员名进行;如果封装类实例成员需要使用以下语 封装类类名.this.封装类实例成员名 封装类静态成员的语法 封装类类名.封装类实例成员名 (7)建局部类的实例。定义定义在方法定义在作用域 创 类的语法如下 }类具有如下特征 类本身没有名字,所以没有构造方法,只能super关键字调用其父类的构造方法 4成员接成员接口是指在封装类或封装接口 的接口当一个接口被嵌套在一个类中时,该接口修饰符可puli、private和缺省的,privat接口只能在封装类的实现和使用。 Java语言中的范型是JDK1.5版本之后引入的新特性范型是对Java可以按类型进行参数化的类、接口或方法。就像方法的形式参数是运行时传递的值占位符一样。范型就是将所操作的数据类型参数化,即该数据类型为一个参数, 的类型参数在使用时用具体的类型来替换[[修饰符[static][final]class类名<类型参数表[extends父类名[implements接口名类体}1类或接口为范型类或范型接口。范型 语法范型接口 语法[[修饰符interface接口名称<类型参数表>[extends父接口名列表接口体}参数类型表说明参数列表可以包含若干个表示类型的参数,多个参数之间用逗号分隔。类型参数可以使用任何字符串,通常约定使用大写字母,一般情况下,用表示任意类型,K、V分别表示“键值对”中的“键”和“值”的类型,E表示集合中的元素类型,N表示数字等等。ClassGenClass<T,U>{privateTvarT;privateUvarU;}//ClassGenClass<T,//ClassGenClass<T,U>{privateTvarT;privateUvarU;GenClass(Tt,Uu){//范型构造方法,使用了T,U类型的参}voidsetValue(Tt){//范型方法,使用了T类型的参}Tgetvalue(){//范型方法,返回T类型的数}}2范型的使类定义中的类型参数表中的范型类型并用尖括号括起。 范型类的实 GenClass<String,Integer> genCls=newGenClass<String,Integer>(“mengfanchao”,GenClass<String,GenClass<String,Integer>genClsnewGenClass<String,Integer>(“mengfanchao”,范型类也可

温馨提示

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

评论

0/150

提交评论