Java语言培训-03-Java语言高级特征_第1页
Java语言培训-03-Java语言高级特征_第2页
Java语言培训-03-Java语言高级特征_第3页
Java语言培训-03-Java语言高级特征_第4页
Java语言培训-03-Java语言高级特征_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

第五章Java语言高级特征周甫Email:zoof@263.net目标描述static变量,方法和初始程序描述final类,方法和变量列出访问控制级别描述如何应用收集和反射在Java软件程序中,确认static方法和变量public,private,protected和缺省变量使用abstract类和方法解释如何以及何时使用内部类解释如何以及何时使用接口描述==和equals()之间的不同

类(static)变量在所有类的实例中共享可以被标记为public或private通过类名访问类(static)方法static方法可以用类名而不是对象来访问没有this值static成员不能访问非static成员静态方法不能被覆盖成非静态。

静态初始化在staticblock中,类可以包含方法程序中不存在的代码。当类被装载时,静态代码块只执行一次。类中不同的静态块按它们在类中出现的顺序被执行。

关键字final

final类不能被继承final方法不能被覆盖final变量是常数

抽象类声明方法的存在而不去实现它的类被叫做抽象类。通过关键字abstract进行标记将类声明为抽象。一个abstract类可以包含非抽象方法和变量。不能创建abstract类的实例。可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。

练习:求最大数练习一:编写一个类,提供一个求最大数的方法练习二:编写2个类,其中:一个类为抽象类(Max),类中有2个方法,一个为抽象方法,求2个整数的最大数,另外一个为已实现的方法求浮点数的最大数另一个类为抽象类的子类(MaxInt),实现抽象方法最后做一个执行类(HandleMax),分别执行抽象类的2个方法接口

接口是特殊的抽象类。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的变量就是常量。练习:求圆面积编写一个接口类(Circle),定义一个final的常量PI,并初始化为3.14,和一个计算圆面积的抽象方法getArea(),这个方法有一个double类型的参数,传入半径;编写一个类(MyCircle)实现接口Circle.在执行类(HandleCircle)中计算出半径为5.0d的圆面积并打印.圆面积=半径*半径*PI高级访问控制

四种访问修饰符:public、protected、(default)、private变量和方法可以是四个访问级别中的一个类可以在public或default级别。

访问性标准修饰符同类同包子类通用性---------------------------------------------------

公共是是是是受保护是是是缺省是是私有是

==运算符与equals()方法==用于简单类型进行等值判断。==用于引用类型表示是否指向同一对象equals()方法用表示两个对象的值是否相等toString()方法用来将一个对象转换成String表示Object类定义缺省的toString()方法,它返回类名称和它的引用的地址内部类

一个类定义被放到另一个类定义里叫内部类。内部类,又叫嵌套类。内部类可访问它们所嵌套的类的成员。内部类的名称必须与所嵌套的类不同。只有内部类可以被声明为private或protected,以便防护它们不受来自外部类的访问。内部类不能声明任何static成员。包装类用来将基本数据元素看作对象每个Java基本数据类型在Java.lang包中都有一个相应的wrapperclass:基本数据类型包装类

booleanBoolean

byteBytecharCharectorshortShortintIntegerlongLongfloatFloatdoubleDoubleJava集合类API集合API分以下接口:Collection:元素没有顺序,允许重复Set:元素没有顺序,不允许重复List:元素有顺序,允许重复Map:Key-Value对Vector,Bits,Stack,Hashtable,LinkedList,HashSet,ArraySet,ArrayList等Vector类

Vector类为与各种元素类型的动态数组一起工作提供方法。Vector类的构造函数是publicVector()-构造一个空矢量publicVector(intinitialCapacity)-构造一个具有具体贮存容量的空矢量publicVector(intinitialCapacity,intcapacityIncrement)-构造具有具体贮存容量和具体容量增量的空矢量。Vector类的成员变量protectedintcapacityIncrement-增加量。(如为0,每次需要增加时,缓冲区的大小成倍。)protectedintelementCount-缓冲区中元素的数量。protectedObjectelementData[]-元素被贮存的缓冲区。Vector常用方法publicfinalintsize()-返回矢量中元素的数量。publicfinalbooleancontains(Objectelem)-如果指定对象是集合的值,返回真。publicfinalintindexOf(Objectelem)-从起始位置搜索指定的对象,然后将一个索引返回到它当中(如果元素未找到为-1)。它使用对象的equals()方法,因此,如果对象不覆盖Object的equals()方法,它只比较对象引用,不比较对象内容。publicvoidaddElement(Objecto),在向量末尾处增加一个元素

publicfinalsynchronizedObjectelementAt(intindex)-在指定的索引中返回元素。如果index无效,它抛出ArrayIndexOutOfVoundsException。

publicfinalsynchronizedvoidsetElementAt(intindex)-以指定对象在指定索引中替代指定元素。如果index无效,它抛出ArrayIndexOutOfVoundsException。

publicfinalsynchronizedvoidremoveElementAt(intindex)-删除指定索引中的元素。如果index无效,它抛出ArrayIndexOutOfVoundsException。

publicfinalsynchronizedvoidaddElement(Objectobj)-附加指定对象作为矢量的最后元素。

publicfinalsynchronizedvoidinsertElementAt(Objectobj,intindex)-插入指定对象作为指定索引中的一个元素,上移具有同等或更大索引的所有元素。如果index无效,它抛出ArrayIndexOutOfVoundsException。

练习:Vector的用法练习一:建立一个User类,包含(age,name)2个私有属性及访问(set/get)方法,实例化3个User对象,并将这3个对象存入到一个Vector中,最后将这Vector打印出来.练习二:在练习一的基础上,修改Handle类,在下标2处插入一个元素(add(index,o)方法),然后将下标为0的元素删除练习三:用List

温馨提示

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

评论

0/150

提交评论