第一部分 面向对象语言基础.doc_第1页
第一部分 面向对象语言基础.doc_第2页
第一部分 面向对象语言基础.doc_第3页
第一部分 面向对象语言基础.doc_第4页
第一部分 面向对象语言基础.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

第一部分 面向对象语言基础掌握面向对象程序设计的三项显著特性:封装、继承与多态;重点掌握类和对象;重点掌握接口的定义与使用。1.1 JDK的开发环境一、环境变量的配置设JDK的安装目录是:C:JDK1.5在Window2000/XP下,环境变量的配置从“我的电脑”(右键) 高级 环境变量:1. classpath 选择“系统变量”的“新建”,然后输入变量名和变量值:classpath .;C:JDK1.5 lib;这里最前面的“.;”,是代表当前目录。2. path 选中“path”后,选择“系统变量”的“编辑” ,然后在以前设置的环境变量path的值前插入: C:JDK1.5 bin;二、环境工具1、编译java源程序文件: javac *.java2、运行java独立应用程序字节码文件(*.class): java 字节码文件名(无扩展名)3、运行java小应用程序字节码文件(*.class): appletviewer *.html(该*.html中包含有标记,该标记中指定有要执行的小应用程序字节码文件)。或appletviewer *.java(该*.java中包含有作为注释的标记,该标记中指定有要执行的小应用程序字节码文件。)1.2 类的定义类修饰符 class 类名 extends 父类名implements 接口名列表 成员变量定义; 成员方法定义; 1. 类修饰符public 公共类:类可以被引入到任何包中使用。 abstract抽象类:不能定义对象, 扩展子类。可以定义公共抽象方法,在子类中具体实现方法,实现动态多态性。2. 类的继承 extends 父类名Java采用单继承:一个父类可以同时拥有多个子类,一个子类则只有一个父类。子类继承父类的特性,并可以添加自己的新特性。3. 类实现接口 implements 接口名表 接口(interface)只能定义抽象方法和常量。实现接口的类可以使用接口的常量;在类体中定义接口中所有抽象方法的具体实现。嵌套类(内部类)在一个类的内部定义的类,是它所在类的一个成员。1.3 类的成员成员变量的定义:修饰符 变量类型 变量名列表;成员方法的的定义:修饰符 返回类型 方法名(参数名列表) 方法体 修饰符:public: 公共成员;private:私有成员;protected:保护成员;static :静态成员(可以由对象或类直接调用);不用static修饰:实例成员(只能由对象调用);final:常量 abstract : 抽象方法 1.4 对象1. 创建对象 类名 对象名= new 类名(构造方法实参表); new运算符实现:为新建对象(无名对象)开辟内存,自动调用构造方法初始化该对象;返回无名对象的引用值;2. 对象的使用通过运算符“ ”实现对成员变量的访问和成员方法的调用。 对象名.成员变量名对象名.成员方法名类内:所有成员;类外:非私有成员1.5 构造方法构造方法是类的一种特殊方法,构造方法的主要作用是完成对象的初始化工作。它的特殊性主要体现在如下几个方面:构造方法的方法名与类名相同。构造方法没有返回类型。构造方法在创建对象时被自动调用。构造方法可以重载。v 子类构造方法中应首先使用super关键字调用父类构造方法,完成子类对象所含的父类成员变量的初始化,再实现子类自定义成员变量的初始化。class Point private int x, y; Point ( int i, int j) x=i; y=j; int getx() return x; int gety() return y;class Circle extends Point private double r; Circle ( int i, int j, int k) super(i,j); r=k; double area() return 3.14*r*r ; public class CircleExample public static void main(String args) Circle c = new Circle(3,4,5 ); System.out.println(园心是:x=+c.getx()+,y=+ c.gety() ); System.out.println(园面积是:+c.area() ); 1.6 静态成员 静态成员(静态成员变量和静态成员方法)是定义时前面加 static 声明的成员。特点:静态成员是属于类的,随着类被加载到内存而创建;静态成员独立于类的各个对象,不依赖对象而存在,可以通过(类名.静态成员名)访问;静态成员为类所有对象所共享,可以通过(对象名.静态成员名)访问。为区别,前面所介绍的不用static修饰的成员称为实例成员,包括实例变量和实例方法,只能由对象调用:对象名.实例成员名。1.7 this与super类的每个成员方法中都隐含一个this引用和super引用,它们的作用主要体现在如下几个方面。一、this 的作用:this引用调用成员方法的对象或类。当成员方法的方法参数名和成员变量名同名时,用this.成员变量名来区分。 用this可以实现一个类的构造方法之间的相互调用: this(构造方法参数列表)。在构造方法中用 this调用类的其它构造方法的语句,必须作为第一个可执行语句。二、super的作用:super引用其父类或对象。在子类中,用super.成员调用被隐藏的父类成员变量或被覆盖的父类成员方法。子类构造方法中的第一条可执行语句应首先使用super关键字调用父类构造方法。当不需要传递参数时,super(); 可以省略。1.8 接 口接口(interface)只能定义抽象方法和常量。public interface 接口名 extends 父接口名表 常量类型 常量名常量值; /常量声明 返回类型 方法名(参数表); /抽象方法声明 接口功能由实现接口的类来实现:在类的声明中包括一条实现接口的语句;并且在类中定义接口抽象方法的具体实现。实现接口的类可以使用接口的常量和调用具体实现的方法。一个类只能直接继承一个父类,但可以同时实现多个接口。接口可以继承。 interface A String a= const of interface A ; interface B extends A String b= const of interface B ; void show(); class InterfaceAB implements B public void show() System.out.println( a+,+b ); class InterfaceTest public static void main(String args) InterfaceAB intf=new InterfaceAB(); intf.show(); 1.9 多态性多态性的实现方式: 静态多态性:编译时识别,重载、覆盖; 动态多态性:运行时识别,抽象类、接口。实现动态多态性的步骤:定义一个抽象类或接口,包含抽象方法;在子类或实现接口的类中实现这个方法;声明一个抽象类或接口的引用,然后使它引用子类或实现接口类的对象;用抽象类或接口的引用调用抽象方法,实际实现的是所引用对象类中具体实现的方法。1.10 包包用来实现类文件的管理Java中用package 语句来将一个Java源文件中的类打成一个包。格式为: package 包名;公共类和非公共类的成员访问权限具体如下:同一个类中 同一个包中 不同包中的子类 不同包中的非子类private default( package ) protected public 第二部分 图形用户界面设计掌握基本的图形用户界面类;掌握事件处理机理;重点掌握界面布局方法;重点掌握绘图方法和绘制几何图形;2.1 基本的图形用户界面类java.awt包: Java开发图形用户界面(GUI)的工具包1. Component类v Component定义了组件所具有的一般功能:基本的绘画支持(方法paint, repaint, update等)、字体和颜色等外形控制、大小和位置控制、组件状态控制等v 派生的常用的组件包括:Button, TextField、TextArea List 等或 JButton, JTextField、JTextArea JList 等 2. Container类v 容器可以添加各种GUI组件。可以通过setLayout()方法设 置布局方式。v 常见的容器有: Frame、Panel、Applet、Dialog 等或 JFrame、JPanel、JApplet、JDialog 等。 2.2 事件处理1. 事件的基本概念v 事件类 事件的归类,常用的事件类有:ActionEvent、 WindowEvent、 MouseEvent、 MouseMotionEvent等。v 事件源 产生事件的构件 : 单击按钮、菜单项: ActionEvent 单击窗口的“关闭”按钮: WindowEvent 压下鼠标:MouseEvent 鼠标拖动: MouseMotionEventv 事件监听器接口 定义与事件类对应的事件处理的抽象方法。 ActionListener、 WindowListener 、MouseListener、 MouseMotionListener等。v 适配器类 实现对应事件监听器接口中的所有方法的默认方式。 ActionAdapter、 WindowAdapter 、MouseAdapter、 MouseMotionAdapter等。2.事件的委托处理模式 事件源不处理自己的事件,而是将事件处理委托给监听器。v 监听器 实现监听器接口的类的对象可以用作监听器,该类中必须对监听器接口所有事件处理的抽象方法进行具体实现。 适配器类的子类的对象可以用作监听器,该类中只需要对需要处理的事件方法进行具体定义。 监听注册 事件源名.add事件监听器接口名(监听器名); 当所监听事件发生时,监听器就调用相应的事件处理方法。2.3 界面布局v 布局方式 FlowLayout 顺序布局(一排一排地依次放置) BorderLayout 边沿布局 (右东,下南, 左西, 上北, 中) (“East, South, “West“, North, Center“ )GridLayout 网格布局(放置格中,大小相同)v 设置布局方法: 容器名.setLayout(new 布局管理器类构造方法)v 复杂布局:把构件加入到面板(Panel)中,定义面板的布局方式;把不同的面板组合在一起,布局在一个Frame、Dialog、Applet或其他面板之中,构成复杂的布局。例 TextFiled_Buttonv 包含文本框面板(textGrid)布局方式是: GridLayout 网格布局;v 包含按钮面板(buttons )布局方式是: FlowLayout 顺序布局;v 框架窗口采用的布局方式是: BorderLayout 边沿布局。 实现框架窗口布局代码: setLayout(new BorderLayout(); add(Center, textGrid); add(South, buttons);2.4 图形与图形的绘制1. Component类的3个绘图方法及其调用关系: public void repaint() 完成对update()方法的调用。 public void update(Graphics g) 清理绘图区并调用paint()。 public void paint(Graphics g)生成Graphics对象。 绘制图形,往往需要覆盖paint()方法。2. Graphics类提供了一系列的方法来绘制几何图形、文字、图象以及动画: drawLine() /画线 drawRect() /画矩形、正方形 fillRect() /填充矩形、正方形 draw3DRect() /画三维矩形、正方形 fill3DRect() /填充三维矩形、正方形 drawOval() /画橢园、园 fillOval() /填充橢园、园 drawArc() /画弧 fillArc() /填充弧 drawPolygon() /画多边形 fillPolygon() /填充多边形 drawString() /画字符串 drawImage() /画图片 g.drawOval(10,40,30,40); g.drawRect(40,60,50,55); g.drawString(简单图形应用举例 ,80,40); g.fillOval(120,60,40,40); g.fillArc(30,120,70,70,60,120); g.fillArc(30,120,70,70,240,120); g.drawOval(120,60,40,40); g.drawArc(30,120,70,70,60,120); g.drawArc(30,120,70,70,240,120); g.fill3DRect(110,120,20,20,true); g.fill3DRect(150,120,20,20,false);第三部分 多线程掌握线程的生命周期:五种状态;掌握创建多线程的两种方法 多线程是在一个程序(进程)内部存在的多任务形式。 线程在它的一个完整的生命周期中通常要经历五种状态:新建(Newborn)、就绪(Runnable)、运行(Running)、阻塞(Blocked)、死亡(Dead)。新建死亡运行就绪阻塞v 线程在新建之后,通过调用start()启动线程,线程启动后处于就绪状态;v 线程获得CPU的使用权后,进入运行状态,自动调用线程的run()方法,run()方法包含线程要完成任务的核心代码;run()方法执行完毕后进入死亡状态。v 当线程执行sleep() 时进入阻塞状态,使线程暂时休眠。sleep()会抛出异常InterruptedException ,必须捕获。 v 实现多线程有两种方式:由Thread类派生子类实现多线程;通过Runnable接口实现多线程。1. 通过继承Thread类实现多线程的步骤: (1)创建一个类扩展Thread类创建用户线程类 (2)在用户线程类中覆盖Thread类的run()方法。 (3)用new创建用户线程类的一个线程对象 (4)调用start()方法启动线程。 线程进入运行状态,自动调用run()方法2. 通过Runnable接口实现多线程的步骤:

温馨提示

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

最新文档

评论

0/150

提交评论