自考Java语言程序设计(一)串讲笔记(3)

2019-02-15 12:36

为了提高执行效率,编译器可以将这个方法的所有调用都能用“嵌入代码”实现,即用方法体代码的副本来替换方法调用。

用final修饰变量,声明该变量的值不能被改变。不能被改变的变量相当于一个常量。final变量主要用于以下两个方面:或是一个编译期的常数,它永远不会改变;或在初始化后,不希望它现改变。final局部变量在定义时可以暂不设定初值,但是一经初始化,以后就不能再改变。常用final声明常量,常量名习惯全部用大写字母命名。

2.abstract类和abstract方法abstract类称为抽象类。抽象类只声明一种模板,没有具体实现代码的类。只有它的子类才可能是有实际意义的类。所以,抽象类不可能有实例。abstract方法称为抽象方法。抽象方法只能出现在抽象类 ,抽象方法没有实现的代码。如果一个类是抽象类的子类,则必须具体实现超类的抽象方法。抽象类可以没有抽象方法但有抽象方法的类一定是抽象类。 3.关键字super

子类隐藏了超类的成员变量或者覆盖了超类方法后,利用关键字super,子类方法可以引用超类的成员变量和被覆盖的方法。使用super有3种情况:使用super

调用超类的构造方法,使用super调用超类被子类覆盖的方法;使用super访问超类被子类隐藏的成员变量。 4.关键字this

关键字this用来指对象自己。this的作用有多种,例如,将对象自己作为参数,调用别的方法;当方法的局部变量隐藏成员变量时,利用this引用成员变量;构成函数内调用另一构造函数等。

5.类之间的is-a和has-a关系在两个相关的类之间,例如,类A和类B,可能会有 is-a和has-a关系。类A是继承扩展类B,则子类A和超类B之间是is-a关系,类B的所有成员类A也有,类A也是一个类B。如果类A的某个成员变量的类型是B,则类A和类B之间是has-a关系,即类A包含有类B。类A中成员变量b的类型是B。 6.内部类(innerclass)

Java语言也允许在类声明内部嵌套类声明。嵌套的类可以是静态的或者是非静态的。静态类不能直接引用其包含类的成员,必须实例化,所以不经常使用。非静态的嵌套类,需要进行事件处理,非常流行。 3.3 接口

Java程序中的类只能继承一个类,这种继承称为单继承。Java语言虽不允许一个类继承多个类,但允许一个类实现多个接口。接口(Interface)有与类相似的基本形式。接口有常量定义和方法定义,但没有方法的实现代码。可以将接口想象为一个“纯”抽象类。接口给出每个方法的规范:方法的名称、返回值类型、参数个数与参数类型。类除了能继承一个类之外,还可实现多个接口。这样,对有继承并实现接口的类来说,实际上有了多个超 类,实现有控制的多重继承。接口是一种只由常量定义和抽象方法组成的特殊类。用public修饰的接口是公共接口,可被所有的类和接口使用;而没有public修饰的接口只能被同一个包中的其他类和接口使用。

接口体中的内容是一系列常量定义和方法定义。

其中方法定义是一种方法声明,不提供方法的实现(没有方法体),用分号“;”结尾。方法的实现在“使用”这个接口的各个类中,故称使用接口的类为接口的实现。接口的所有变量都默认为是finalstatic属性;所有的方法都默认为是publicabstract属性。一个类通过使用关键字implements声明自己使用一个或多个接口。实现多个接口时,接口名之间用逗号隔开。如果一个类要实现某个接口,那么这个类必须实现

该接口的所有方法,为这些方法提供实现的方法体。在实现接口的方法时,方法的名字、返回值类型、参数个数及类型必须与接口中定义的方法完全一致,并一定要用public修饰。 3.4 基本类

Java语言为一些基本类型设有对应的基本类,如下表所示。

基本类型 对应的基本类 基本类型 对应的基本类

booleanBooleanintInteger charCharacterlongLong byteBytefloatFloat

shortShortdoubleDouble

基本类型值与对应基本类对象能相互转换。可以利用以下形式的基本类构造方法,由基本类型值得到对应基本类对象:

public基本类(基本类型v)

例如,以下代码得到一个Integer对象,其值是123。 Integern=newInteger(123);

也可以由基本类对象得到基本类型值。实现方法如以下例子所示:

设有 Double类对象dObj,Boolean类对象bObj, 代码:

doubled=dObj.doubleValue() 使得dObj对象的值赋值给double类型变量d。 代码:

booleanb=bObj.booleanValue() bObj对象的值赋值给boolean类型变量b。类似的 代码可以用于其他基本类对象与对应的基本类型变量。 3.5 Java小应用程序基础

Java小应用程序即JavaApplet,是嵌入在 Web页上供浏览器运行的程序,可放在服务器上供客户端下载使用。小应用程序的主要功能是显示图形、动画、播放、声音、响应用户事件等。每个小应用程序都得继承java.applet.Applet类。 为了系统的安全,对小应用程序有一定限制:不能调用本地的应用程序和运行时的动态连接库;不能访问本地文件,如读、写文件;除原小应用程序所在的位置(站点)外,不能再做网络连接与 WWW 建立联系,不能获得任何有关系统设置的信息。 1.小应用程序的建立和运行

一个小应用程序从建立到运行需经历4个步骤: (1)用Java语言编写小应用程序的源程序。

小应用程序由若干类组成,在源程序中必须有一个类继承java.applet.Applet类,这个类是小应用程序的主类。小应用程序的主类,用public关键字修饰。小应 用程序的源文件名必须与它的主类名完全相同。

(2)把小应用程序的源程序编译成字节码.class文件。 如果源文件有多个类,那么经编译后将生成多个.class文件。

(3)将小应用程序的字节码文件嵌入在 Web页中,设计一个指定小应用程序的HTML文件.html。

(4)在支持Java的浏览器上运行。

或用观察器appletviewer,或用浏览器 Netscape、Hotjava、IE等。如果采用某个Java开发环境,也可在开发环境下执行小应用程序。 2.Applet类的基本方法 (1)init()方法

初始化,由浏览器载入内存时调用init()方法,该方法只运行一次。其用途是创建所需要的对象、设置初始状态、装载图像、设置参数等。 (2)start()方法

初始化后,紧接着调用start()方法,启动小应用程序主线程,或当用户从小应用程序所在的 Web页面转到其他页面,然后又返回时,start()方法将再次被调用。 (3)stop()方法

当浏览器离开小应用程序所在的页面转到其他页面时,调用stop()方法,挂起小应用程序的执行。

(4)destroy()方法

当关闭浏览器时,系统调用destroy()方法,结束小应用程序的生命,关闭线程序释放对象资源。

(5)paint(Graphicsg)方法

该方法用于在屏幕窗口上显示某些信息。如文字、色彩、背景和图像等。当小应用程序启动时,浏览器产生一个Graphics类的对象,供小应用程序使用,并以参数g传递给方法paint()。小应用程序可以把g理解为一支画笔。 (6)repaint()方法

为在java页面上显示动态效果,需要repaint()方法,该方法先清除paint()方法以前所画的内容,然后再调用paint()方法。 (7)update()方法

调用repaint()方法时,系统会自动调用update()方法。update(Graphicsg)方法是从父类 Applet继承来的,该方法的功能是清除paint()方法以前所画的内容,然后再调用paint()方法。小应用程序重写update()方法,可以达到特定的要求。

3.小应用程序的生命周期(执行过程)

(1)下载并实例化小应用程序,系统调用init()方法。 (2)启动,系统调用start()方法。

(3)小应用程序暂停执行,或因Browser转向其他网面,或小应用程序调用stop()方法,或小应用程序执行paint(Graphicsg)方法。

(4)重新启动,或重新进入小应用程序所在页面,重新激活小应用程序,或小应用程序执行paint(Graphicsg)方法完成。

(5)终止,或退出浏览器,或执行destroy()消亡方法。 4.小应用程序数据输入输出

小应用程序的数据输入有多种方式。从图形界面的文本框、文本区中输入;也可以采用系统标准输入;还可以由HTML文件中的参数导入。

·第4章 数组和字符串 4.1 数组

数组是将一组相同类型的数据顺序存储,组成一种复合数据类型。数组的特点主要是:一个数组中的所有元素的数据类型相同,数组中的元素连续顺序存储,数组中每个元素按存储顺序对应一个下标,下标从0开始顺序编号,引用数组元素通过数组名和它的下标确定。数组有一维数组和多维数组之分,数组元素的下标个数确定数组的维数。 4.1.1 一维数组

数组元素只有一个下标的数组是一维数组。 1.声明一维数组

在Java语言中,数组是一种引用类型,数组名如同对象名一样,是一种引用。声明数组是声明一个标识符能引用数组,只要指定数组元素的类型。声明一维数组 有两种格式:

数组元素类型 数组名[];或者 数组元素类型 []数组名;

其中数组元素类型可以是任意的Java数据类型(包括类)。 2.创建一维数组

创建数组就是为数组分配存储空间,需指定数组长度。数组创建后,数组名就标识用于存储数组元素的存储空间。创建一维数组的方法有3种: (1)先声明后创建

创建数组代码的一般形式为

数组名字=new 数组元素类型[元素个数]; 例如,代码:

intintArray[];//声明数组intArray

intArray=newint[5];//创建数组intArray有5个元素,元素下标自0~4

(2)在声明时创建

把声明数组和创建数组的代码结合在一起。例如, 代码:

intintArry[]=newint[5]; (3)直接赋值创建

在声明数组时,直接给出数组的初值。例如代码:

int[]intArray={1,2,3,4,5}; 直接赋值创建数组的方法也称为数组初始化。

前两种方法创建数组时,系统会给数组元素提供默认初始值:数值型数组元素的默认初值是0;char类型数组元素的默认初值是全0代码字符;布尔类型数组元素的默认初值是false。在Java语言中,所有数组都有一个成员length,程序可以访问它,获得数组的元素个数,但不能改变它。 3.引用一维数组元素

引用一维数组元素代码的一般形式为 数组名[下标] //引用一维数组元素

数组下标可以是整型常数,或者是整型表达式。

数组下标范围是0到数组名.length-1。为了确保程序安全性,Java运行系统会对数组下标自动进行范围越界检查。如果发现下标越界,系统将发生异常。 4.数组是一种引用类型

数组也是一种引用类型,一个数组名在不同时间可引用不同的数组。 4.1.2 多维数组

数组元素有多个下标的数组就是多维数组。

1.声明二维数组

声明二维数组的一般形式有以下3种: 数型 数组名 [][] 数型 [] [] 数组名 类型 [] 数组名 [] 2.创建二维数组

创建二维数组对象的方法有多种:

(1)直接分配(平衡二维数组———矩阵)。 例如,以下代码创建一个3行5列的矩阵:

intmyTowArray[][]=newint[3][5]; (2)从最高维开始,分别对每一维分配不等长的空间(非平衡的数组)。

inta[][]=newint[3][];//创建第一维,确定有3个子数组 a[0]=newint[4];//第一个子数组有4个元素 a[1]=newint[5];//第2个子数组有5个元素 a[2]=newint[2];//第3个子数组有2个元素 (3)直接赋值创建

声明二维数组,同时直接给出各子数组的元素。如果子数组的元素个数不同,则创建的是一个非平衡的二维数组。 3.引用二维数组

二维数组元素的引用方法是: 数组名[下标1][下标2] 4.使用二维数组要注意的问题

对于二维数组,要注意以下两点:(1)二维数组名.

length和二维数组名[下标1].length的区别。二维数组名.length是二维数组的子数组个数;二维数组名[下标1].length是指定子数组的元素个数。 (2)二维数组名[下标]是一维数组。 4.2 字符串

字符串是由0个或多个字符组成的序列,Java语言提供两个用于处理字符串的类: String类用于处理不可改变的字符串。

StringBuffer类用于处理可改变的字符串。 4.2.1 字符串常量

字符串常量是用双引号括起来的一个字符串。在Java语言中,字符串常量是匿名的 String对象。

4.2.2 字符串声明和创建

如同一般用类声明和创建对象一样,可用String类声明和创建字符串。

利用String类的构造方法可以创建字符串对象,String类的构造方法有: (1)String(),创建一个空字符串对象。 例如:

s=newString();

(2)String(Stringstr),根据给定的字符串str创建 符串对象。

例如:利用字符串常量创建字符串: s=newString(?Iamastudent.?); 或简写成: s=?Iamastudent.?; 字符串声明和创建也可一起完成:

Strings=newstring(?Iamastudent.?);


自考Java语言程序设计(一)串讲笔记(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Unit 1 Friendship 1教案2

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: