java语言与面向对象程序设计(第二版)课件第二章

上传人:飞*** 文档编号:34126430 上传时间:2018-02-21 格式:PPT 页数:30 大小:402.50KB
返回 下载 相关 举报
java语言与面向对象程序设计(第二版)课件第二章_第1页
第1页 / 共30页
java语言与面向对象程序设计(第二版)课件第二章_第2页
第2页 / 共30页
java语言与面向对象程序设计(第二版)课件第二章_第3页
第3页 / 共30页
java语言与面向对象程序设计(第二版)课件第二章_第4页
第4页 / 共30页
java语言与面向对象程序设计(第二版)课件第二章_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《java语言与面向对象程序设计(第二版)课件第二章》由会员分享,可在线阅读,更多相关《java语言与面向对象程序设计(第二版)课件第二章(30页珍藏版)》请在金锄头文库上搜索。

1、第二章 Java 概述,主要内容:开发 Java 程序的基本步骤Java 程序的构成基本输入输出编程,2.1 Java 程序分类,按结构组成和运行环境,本课主要介绍两类 Java 程序: Application (应用程序):独立程序;Java 虚拟机解释运行; Applet (Web 小应用程序):嵌入 HTML 编写的 Web 页面中非独立程序;由 Web 浏览器的 Java 解释器来解释运行。,第一个 Java Application,编辑存盘:主类名(含有main方法)和文件名要一致性 HelloWorldApp.java编译程序 : javac HelloWorldApp.java运

2、行程序 : java HelloWorldApp “myjava”运行结果 : Hi, myjava,class HelloWorldApp public static void main(String args) System.out.println(“Hi, ”+args0); ,Java 程序的特点,类定义 (class)修饰符 class 类名 extends 父类名 implements 接口名(,接口名 ) 类体例2-1: public class MyJavaApplication 类体 在 Java 中,如果类定义中不含 extends 关键字,则该类的缺省父类是 Object

3、 类(在 C+ 中,一个类可以没有基类)。,类体组成域:对象的状态,包括变量、数组甚至其它对象;方法:作用是修改对象属性,相当 C 的函数; 修饰符1 修饰符2 . 返回值类型 方法名 (参数列表 ) throws 异常列表 方法体 public class DogClass String name; int age;public void speak() System.out.printIn(Woof! Woof!); ,说明:方法名和参数列表称为函数的签名(signature),同一个类中不能有两个签名完全相同的函数(注意,无返回值);在 Java 中,所有参数以值传递。以对象作为参数时,

4、传递的是对象的引用;Application 应用程序必须有一个主类,即包含 main 函数的类。 它是执行的入口点。 import java.io.*public class MyJavaApplicationpublic static void main(String args) /注意函数的定义System.out.printIn(Hello,Java World);,Java 源程序的编辑、编译和运行编辑与命名可在记事本、JBuild(Borland)、J#(微软)、JCreator(IBM)等工具编辑,以 . java 作为后缀。源程序的编译和字节码生成Java 源代码经编译生成的目标

5、码称为字节码(二进制代码),由 Java 虚拟机解释运行。,import java.io.*public class MyJavaApplication2public static void main(String args) System.out.printIn(UserClass.m_sMessage); class UserClassstatic String m_sMessage = Message from User Defined Class;每一个 Java 类生成一个以该类命名的字节码文件,并以 . class 为后缀。以上程序编绎得MyJavaApplication2.cla

6、ss 和 UserClass.class 字节码文件;,操作系统,(a) 传统语言的运行机制,(b) Java 语言的运行机制,图 2-1 传统语言与 Java 的不同运行机制对比,Java源程序(.java文件),Java编译器,Java Bytecode(.class文件),系统执行平台,Bytecode 解释器,Bytecode 载入器,字节码的解释与运行,字节码校验器,字节码的解释与运行,不同的操作系统有不同的虚拟机,类似一个虚拟的CPU;byte-code代码是与平台无关的是虚拟机的机器指令;字节代码运行的两种方式:interpreter(解释方式);Just-in-time(即时编

7、译):有代码生成器将字节代码转换成本机的机器代码,然后可以以较高速度执行;,第一个Java Applet 程序,import java.awt.Graphics;/必须引入的包;import java.applet.Applet; /必须引入的包;public class MyJavaApplet extends Appletpublic void paint(Graphics g) g.drawString(Hello, Java Applet World!,10,20); paint ( ) 方法是 Applet 程序用来向图形界面输出文字和图形的方法,参数 g 是 Graphics 类对

8、Graphics 类提供了显示字符串的 drawString ( ) 方法和许多绘制图形的方法如 drawLine ( ) , drawRect ( ) 等。,2.2.1 Applet 程序的特点,Applet 是嵌入在 HTML 的 Java 小应用程序,不能独立运行(无main 函数);必须有一个系统类 Applet 的子类,为程序的主类,它继承父类接口,与浏览器交互;public class MyJavaApplet extends Applet必须加载(import) java.applet包(因为主类继承这个包)和java.awt 包(因为Applet 在图形界面下运行);,2.2.

9、2 代码嵌入HTML 标记简介HTML Test Page,三个主要属性:(1)code:指明嵌入 HTML 文件的 Applet 主类的字节码文件名。例如,设类文件 Applet1 在包文件 applet19 下,则应写成: code = applet19.Applet1.class(2)width:指明 applet 程序界面在对应 Web 页面所占区域的宽度。 (3)height:指明 applet 程序界面在 Web 页面所占区域的高度。,其他属性:(1)codebase:指定类文件的路径; “.”则表明类文件路径与包含 applet 的 HTML 文件相同;否则可以在其子目录下,如果

10、类文件存在一个 MyClasses 的子目录下,则 codebase = “MyClasses”;(2)name:名称,出现在浏览器的状态栏; (3)align:定义 applet 在网页中的对齐方式;(4)hspace、vspace:以像素为单位设置文本与左右、上下边框距离;,WWW服务器,WWW服务器,WWW浏览器,HTML 文件 -Applet 嵌入标记 Applet 名-,下载 HTML 文件,请求 HTML 文件,请求 Applet 字节码,下载 Applet 字节码,解释执行 Applet 字节码,图 2-2 Java Applet 的下载执行过程,2.2.3 Applet 的运行

11、,Applet 图形界面,import java.applet.*;import java.awt.*;import java.awt.event.*;public class AppletInOut extends Applet implements ActionListenerLabel prompt;TextField input, output;,public void init()prompt = new Label(请输入您的名字);input = new TextField(6);output = new TextField(20);add(prompt);add(input);

12、add(output);input.addActionListener(this);public void actionPerformed(ActionEvent e)output.setText(input.getText() + ,欢迎您!);,2.3 Applet 图形界面 小结,加载 java.awt.event 包,以便使用事件处理机制;定义界面元素,设置其属性,并加入到面板中;将引发事件的事件源,注册给对应的监听器;如: input .addActionListener ( this ) ;实现接口中定义的事件处理方法;,Application 图形界面程序,import java

13、.awt.*;import java.awt.event.*;public class ApplicationGraphicsInOutpublic static void main(String args)new FrameInOut();,class FrameInOut extends Frame implements ActionListenerLabel prompt;TextField input,output;FrameInOut() super(图形界面的Java Application 程序); / 生成三个对象prompt = new Label(“请输入您的名字:”);i

14、nput = new TextField(6);output = new TextField(20);setLayout( new FlowLayout() );/ 布局策略/ 将三个对象加入到面板中add( prompt ); add( input );add( output );input.addActionListener( this ); / 事件对象注册setSize( 300,200 );/ 设置窗口大小show();/ 显示窗框,public void actionPerformed( ActionEvent e)output.setText( input.getText() + ,欢迎你!);,Java中如何响应事件源,Button btn = new Button(“关闭”); / 生成对象;add( btn ); / 加入对象到面板中;btn.addActionListener( this ); / 事件对象注册;public void actionPerformed( ActionEvent e)if ( e.getSource() = input)output.setText( input.getText() + ,欢迎你!);elsedispose();System.exit(0);,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 资格认证/考试 > 其它考试类文档

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