第三篇 Java
第一章 Java语言简介
1. Java语言的平台独立性
Java是一种具有平台独立性的编程语言,它在源程序级上保证了其基本数据类型与平台无关,Java源程序编译后产生的二进制代码是一种与具体机器指令集无关的指令集合,通过JVM(Java虚拟机),可以在不同的平台上运行。也就是说,JVM为我们隔离了纷繁复杂的外部网络世界,只要计算机安装了JVM,就可以一致地运行Java程序。
第二章 Java语法基础
1. 作用域的一般规则
在作用域之内声明的变量对于在该作用域之外的代码不可见。这样,当在作用域中声明的变量,事实上是将它从未授权的访问、修改中保护起来。从某种意义上说,作用域规则提供了封装的基础。
注意:尽管块可以被嵌套,但是不能在块内与块外声明具有相同变量名的变量。在这一点上,Java与C/C++不同。
第三章 Java的面向对象编程基础
1. Java中的类
类是Java的核心,它是整个Java语言的基本单元,因为在Java看来,一切事物都是类。用Java语句语言进行程序设计就是定义类和使用类的过程。类可以分为两种,一种是系统定义好的类,即Java类库中的类,另一种是用户自定义的类。
Java类库是一组由其他开发人员或软件供应商编写好的Java程序模块,每个模块通常对应一种特定的基本功能和任务。当自己编写Java程序需要完成其中某一功能时,就可以直接利用这些现成的类库,而不需要一切从头编写。因而,是否尽可能多地熟练掌握Java类库,决定了一个Java程序员能力的高低。
2. 使用类库中系统定义好的类的方法
第一种方法:继承系统类,在用户程序里创建系统类的子类。例如:每个Java 小应用程序都是java.applet包中的Applet类的子类。
第二种方法:创建系统类的对象。例如:在图形界面的程序中接受用户的输入时,就以可创建一个系统类TextField类的对象来完成这个任务。
第三种方法:直接使用系统类。例如:在字符界面向系统标准流输出字符串时使用的方法:System.println(),就是使用系统类System的静态属性Out的方法。
无论使用那种方法,使用系统类的前提条件是这个系统类对用户程序应该是可见的类。为此用户需要用import语句引入它所用到的系统类或系统类所在的包。
3. 类的声明与类的对象
类的声明是通过关键字class来创建的,它实际上是定义了新的数据类型,今后可以使用该名创建类的对象(实例),类声明仅创建了模板,但并不创建对象。类对象的创建是通过关键字new来创建的,它实际上创建了包含在类中定义的每个变量的一个拷贝。
4. Java修饰符小结
类修饰 类成员 | public公共类 | 默认 | abstract抽象类无对象 | final最终类无子类 | |
成员访问控制符 | public | 所有其它类皆可访问 | 本包中的类可以访问 | ||
protected | 本包中的其它类和所有其它包中的子类 | 本包中的其它类 | |||
private protected | 仅该类的所有子类可以访问 | 仅该类当前包中的子类 | |||
private | 仅该类本身可以访问 | 非法 | |||
默认 | 本包中的类可以访问 | ||||
成员方法修饰符 | abstract | 抽象方法是没有方法体的方法 | 抽象方法必须在抽象类中定义 | 非法 | |
final | 最终方法是不能被覆盖的方法 | 非法 | |||
static | 静态方法是类方法,不能处理非静态的成员变量 | ||||
native | 本地方法的方法体由其它语言编写,在运行时加载 | ||||
sychronized | 同步方法在运行前对它所属的类或对象加锁,防止其它线程访问,运行结束前解锁 | ||||
非法修饰符组合 | abstract与final;abstract与static;abstract与native | ||||
成员变量修饰符 | static | 静态变量是类的成员变量,不专属于某个对象,用类前缀调用 | |||
final | 类的成员变量,常与static修饰符同时使用 | ||||
transient | 系统保留 | ||||
volatile | 易失变量,可能被其它线程所改变 | ||||
方法局部变量 | 方法的局部变量可以用final来修饰,表示该局部变量为常量 | ||||
4. 接口
接口(interface)是方法定义(没有实现)和常数的集合,在类等级的任何地方都可以使用接口定义一个行为的协议并实现它。Java不支持直接的多重继承,但通过接口,可以间接地实现多重继承,为编程带来了方便。通常接口就被称为多重继承的替代物,然而多重继承和接口提供非常不同的功能。
5. 包的作用
对象重用是面向对象编程的主要优点之一,在Java语言中,对象是以类的形式体现的,因此对象重用也就体现在类的重用上。一个类如果要在多个场合反复调用,可以把它存放在“包”中,这里的包实际上就是一组类组成的集合,通常更习惯于称之为类库。除系统本身提供的包之外,编程人员还可以自行定义一些包,把相关的类集中存放。如把前面创建的Rectangle(矩形)类和其它相关的类如circle(园)等统一存放在一个Shapes(形状)包内。包的作用是多方面的,它不仅可以方便对类的引用,还可规定类的方法和变量的引用范围。正常情况下,类的成员变量和方法如果不带public、private和pretected等修饰符,就只能由同一包中的类所引用,因此,通过把具有共性的类放到同一个包中,这些类就可以相互访问其它类
的变量和方法,同时又不违背面向对象编程封装的特性。
6. 类引用的方法
通常一个类只能引用与它在同一个包中的类,如果需要使用其它包中的非public类,可以使用如下几种方法:
1) 使用包名、类名前缀
一个类要引用其它的类,就是要使用这个类的对象并使用它的属性或调用它的方法。对于同一个包中的其它类,只需在要使用的属性或方法名前加上类名作为前缀即可。对于其它包中的类,则需要在类名前缀的前面再加上包名前缀。
2) 加载需要的类
在上面的方法中,每当使用某一包中的类时,都需要加上包名前缀“包名”,使用起来非常麻烦。解决的办法是在程序文件部分利用import语句将需要使用的整个类加载到当前程序中,这样在程序中需要引用这个类的地方就不需要使用包名前缀了。
3) 加载整个包
上面的方法利用import加载了shapes包中的一个类Rectangle,有些情况下可以直接利用import加载整个包,这种方法更为常用,此时这个包中的所有类都会被加载到当前程序中。加载整个包的语句如下:
import shapes.*;
7. 成员变量的继承与隐藏
1) 成员变量的继承
子类是从父类继承所有非私有的成员变量而不是把父类成员变量的定义部分复制一遍,这样做的好处是减少程序维护的工作量。
2) 成员变量的隐藏
如果在子类中对从父类继承来的成员变量进行重新定义,即出现了子类变量对父类变量的隐藏。所谓隐藏是指子类拥有两个相同名字的变量,一个是继承自父类,另一个是由自己定义
的。当子类执行它自己定义的方法时,如果操作该变量,所操作的是它自己定义的变量,而把继承自父类的变量“隐藏”起来。当子类执行从父类继承的操作时,如果操作该变量,所操作的是继承自父类的成员变量。
8. 方法的继承、重载与覆盖
1) 方法的继承
父类的所有非私有方法都可以被子类继承和直接调用。
2) 方法的覆盖
正如子类可以定义与父类同名的成员变量,实现对父类成员变量的隐藏一样,子类也可以重新定义与父类同名的方法,实现对父类方法的覆盖。当在子类中调用同名的方法时,一般情况下是调用它自己定义的方法,因而实现了对父类方法的覆盖,如果要调用父类的方法,只需在方法名前使用不同的类名或对象名即可。
3) 方法的重载
子类定义同名方法覆盖父类的方法是面向对象方法中多态技术的一种实现。所谓多态就是指同名的不同方法共存,它有助于隐藏对象内部的实现细节,提高程序的抽象程序,是面向对象程序设计中经常使用的方法。
实现多态技术的另一种重要手段就是方法的重载。与方法覆盖不同,重载不是子类对父类同名方法的重新定义,而是类对自己已有的同名方法的重新定义。
第四章 Java小应用程序简介
java浏览器下载1. Java小应用程序的结构
和Java应用程序最大不同的就是所有Java小应用程序都继承自同一个特别的类:“java.applet.Applet”。该类是Java编程语言中的基础类,由Sun公司预先就定义好了的,编写Java小应用程序的程序。首先要用我们自己的类来继承java.applet.Applet类,也就是说,所有的小应用程序的程序类,都会像下面那样进行声明:
public class myApplet extends java.applet.Applet
{
...
}
在同一个程序文件中,当然还可以有很多其它的类程序来帮助小应用程序主类程序,不过只有一个类程序的前面,必须加public,这个类就是这里小应用程序主程序。
2. Java小应用程序不能做如下事情:
I. 小应用程序不可以直接调用其它函数库,如DLL等,或者调用用其它语言编写的程序;
II. 小应用程序不可以去读或写用户的文件系统,除非在用户特别指定的目录下的文件;
III. 除了原来小应用程序所在的位置之外,小应用程序通常不能通过网络和其它的WWW服务器进行联系。在小应用程序的执行过程中,它不能再通过用户机器下的操作系统去执行新的程序。
IV. 小应用程序没办法取得任何有关系统设置的信息,例如用户的密码文件等。
3. Java小应用程序的基本工作原理
小应用程序的工作原理是,将编译好的字节码文件(.class)保存在特定的WWW服务器上,同一个或另一个WWW服务器上保存着嵌入该字节码文件名的HTML文件。当某一个浏览器向服务器请求下载嵌入了Applet的HTML文件时,该文件从WWW服务器上下载到客户端,由WWW浏览器解释HTML中的各种标记,并按其约定将文件中的内容以一定的格式显示在用户屏幕上。当浏览器遇到HTML文件中的特殊标记,表明它嵌入一个Java小应用程序时,浏览器会根据这个小应用程序的名字和位置自动把字符码从WWW服务器下载到本地,并利用浏览器本身拥有的Java解释器直接执行该字节码。
4. Java小应用程序的生命周期与四种方法
第一:当用户第一次看到某个附有Java小应用程序的页面时,WWW浏览器要做的动作就是载入这个Java小应用程序的代码,载入完毕后就会调用这个小应用程序的init和start方法。
第二:当用户离开页面时,WWW浏览器就会调用小应用程序的stop方法,让小应用程序有机会休息,而当用户从别的页面返回该页面时,WWW浏览器就会再一次调用start,使小应用程序重新开始工作。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论