《Java讲义》doc.doc

上传人:桔**** 文档编号:547693447 上传时间:2023-08-20 格式:DOC 页数:31 大小:325.50KB
返回 下载 相关 举报
《Java讲义》doc.doc_第1页
第1页 / 共31页
《Java讲义》doc.doc_第2页
第2页 / 共31页
《Java讲义》doc.doc_第3页
第3页 / 共31页
《Java讲义》doc.doc_第4页
第4页 / 共31页
《Java讲义》doc.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《《Java讲义》doc.doc》由会员分享,可在线阅读,更多相关《《Java讲义》doc.doc(31页珍藏版)》请在金锄头文库上搜索。

1、Java讲义教师:王明军武汉大学资源与环境科学学院地理信息科学系35Chap1. 绪论1、Java历史及发展Java是一种解释型的、面向对象的编程语言。历史:1991年,SUN MicroSystem公司的Jame Gosling、Bill Joe等人为在电视、控制烤箱等家用消费类电子产品上进行交互式操作而开发了一个名为Oak的软件。发展:面向网络应用,类库不断丰富,性能不断提高,应用领域不断拓展。(1994年以来)应用:适于开发各种应用,尤其是基于网络的应用、嵌入式应用等。2、Java语言特点Java= “C+” - “复杂性和奇异性” + “安全性和可移植性”(1) 面向对象Java语言的

2、设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。(2) 操作平台无关性源程序Java编译器SPARCpentiumPowerpc中间码PowerpcpentiumSPARC二进制源程序SPARCPowerpcpentiumPowerpcpentiumSPARC编译器二进制Java解释器编译型和解释型语言的工作模式类、类库装载(库)链接严格的语言定义:没有“依据机器的不同而不同” 或“由编译器决定”等字眼,最后的目标码都是一

3、致的。Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。这些字节码指令对应于Java虚拟机中的表示,Java解释器得到字节码后,对它进行转换,使之能够在不同的平台运行。编译,没有绝对地址调入包含、继承所用到的所有类, 内存分配确定,变成真正可执行的机器码 Java源程序(.java文件)Java编译器Java Bytecode(.class文件)系统执行平台Bytecode 解释器Bytecode 载入器字节码校验器不存在伪造的指针不违反访问权限不非法访问对象不导致操作栈溢出 Java的编译与执行不同的操作系统有不同的虚拟机。它类

4、似一个小巧而高效的CPU。Bytecode代码是与平台无关的是虚拟机的机器指令。Java字节代码运行的两种方式:interpreter(解释方式)JavainterpreterJust-in-timecompilerRuntime SystemOperating SystemHardwareJust-in-time(即时编译):有代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行.(3) 安全问题Java是在网络环境下使用的语言,一个安全的网络至少要防止以下几种破坏的可能性:n毁灭系统资源n消耗系统资源n挖掘系统或个人机密n骚扰正常工作的进行Bytecode的运行加载代码 由cl

5、ass(Bytecode) loader 完成。 校验代码 由Bytecode verifier 完成。 执行代码 由 runtime interpreter完成。Java源程序(.java文件)Java编译器Java Bytecode(.class文件)Bytecode 载入器Bytecode 解释器系统执行平台语言定义publicprotectedprivatefinal取消指针自动回收垃圾Bytecode检查限定对象的存取权限系统堆栈溢出参数类型一致程序执行系统WWW浏览器限制Java小应用程序的不正当使用Java的安全措施(4) 多线程Java提供现成的类Thread,只要继承这个类就

6、可以编写多线程的程序。多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。(5) 可移植性(跨越多个平台)(6) 分布性(克服空间上的障碍)(7) 高性能(相对于其他解释型语言)(8) 健壮性((9) Java与C及C+的区别不再有全局变量不再有#include 和#define 等预处理功能不再有structure、union及typedef等不再有函数、不再有指针、不再有多重继承不再有goto语句不再有操作符重载(Operatior O

7、verloading)取消自动类型转换,要求强制转换自动进行内存管理3Java开发工具包括:Javac:Java编译器,用来将java程序编译成 Bytecode。Java:Java解释器,执行已经转换成Bytecode的 java应用程序。Jdb:Java调试器, 用来调试java程序。Javap:反编译,将类文件还原回方法和变量。javadoc:文档生成器,创建HTML文件。Appletviwer:Applet解释器, 用来解释已经转换成 Bytecode的java小应用程序。1. Java程序结构: package语句:零个或多个,必须放在文件开始 import语句:零个或多个,必须放在

8、所有类定义之前 public ClassDefinition:零个或一个 ClassDefinition:零个或多个 InterfaceDefinition:零个或多个类个数:至少一个类,最多只能有一个public类源文件命名:若有public类,源文件必须按该类命名标识符:区分大小写2.Java应用程序(Java Application) 类库支持:引用其他类。 类定义:定义程序所需的类及接口,包括其内部的变量、方法等。 main()方法:应用程序的入口,与标准C中main()函数的地位是一样的。一个应用程序有且只有一个main()方法,main()方法必须包含在一个类中,该类即为应用程序的

9、外部标志。 程序注释:与C类似,/*/ /3.Java小程序(Java Applet)类库支持:继承Applet类,引用其他类。类定义:定义程序所需的类及接口,包括其内部的变量、方法等。init()方法:初始化,自动调用,只执行一次。start()方法:初始化后,重入等都将自动调用。Applet的主体,在其中可以执行一些任务或启动相关的线程来执行任务,如paint()方法等。stop()方法:离开Applet所在页面时调用,以停止消耗系统资源。4.Java Application举例public class HelloWorldApp public static void main(Strin

10、g args) System.out.println(“Hello World!”); n编辑存盘:文件名和公共类名(用public声明)要一致 HelloWorldApp.javan编译程序:javac HelloWorldApp.javan运行程序:java HelloWorldAppn运行结果:Hello World!public class HelloWorldApp public static void main(String args) System.out.println(“Hello World!”); 声明一个类:public class HelloWorldApp,类名第一

11、个字母大写。一个类中可有很多方法, main方法是运行程序的第一个方法,方法名的第一个字母小写。System.out.println是向屏幕输出,相当于C中的printf()。class CommArg public static void main(String args) / Display command arguments int i; if( args.length 0 ) /have some command arguments for( i=0; iargs.length; i+ ) System.out.println(arg+i+ = +argsi); else /no co

12、mmand argument System.out.println(No arguments!); n命令行参数: main( String args ),与标准C中main(int argc, char* argv)相似。n字符串的拼接: arg + i + = + argsi。n编译程序:javac HelloWorldApp.javan运行程序(命令行参数获取): java CommArg first second thirdn运行结果: arg0 = first arg1 = second arg2 = third5.Applet举例import java.applet.*;import java.awt.*;public class HelloApplet extends Applet public String s; public void init() s = new String(“Hello World!”); public void paint(Graphics g) g.drawString(s,25,25); 编辑存盘:文件名和主类名一致编译代码:javac HelloApplet.java编写HTML文件: HelloApplet.html Hello World applet code=HelloApplet.class wi

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号