注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器! • 打开购物车 • 查看留言 • 付款方式 • 联系我们 |
首页 | 电子入门 | 学单片机 | 免费资源 | 下载中心 | 商品列表 | 象棋在线 | 在线绘图 | 加盟五一 | 加入收藏 | 设为首页 |
选择分类:当前分类——电脑编程 相关联或者相类似的文章: 国产OS?中文CPU?(1213) JAVA教程 第一讲 Java语言概述(2)(796) JAVA教程 第三讲 Java语言中的面向对象特性(1)(785) vb的10个小技巧 (772) 学编程的人不能不看的好文章 (745) JAVASCRIPT简介 (736) 绝对不知道你的浏览器还有这个功能!!(722) JAVA对象入门第1章 对象入门(719) 给初学编程者的忠告 (702) JavaScript 对象与数组参考大全(650) JAVA教程 第三讲 Java语言中的面向对象特性(2)(631) JAVA教程 第三讲 Java语言中的面向对象特性(3)(587) VB开发Windows环境下的串行通信程序(560) SQL转ACCESS解决自动编号问题(531) JAVA教程 Java语言基础知识(452) JAVA教程 第二讲 Java语言基础知识(1)(364) DHTML参考手册(一)(210) [精]5分钟编写一个ASP论坛(99) Cookies常用命令简介(99) RegExp正则表达示用法(3) 首页 前页 后页 尾页 本站推荐: | JAVA教程 第三讲 Java语言中的面向对象特性(3) JAVA教程 第三讲 Java语言中的面向对象特性(3) ◇ 类java.lang.Object 类java.lang.Object处于java开发环境的类层次的根部,其它所有的类都是直接或间接地继承了此类。该类定义了一些最基本的状态和行为。下面,我们介绍一些常用的方法。 equals() :比较两个对象(引用)是否相同。 getClass():返回对象运行时所对应的类的表示,从而可得到相应的信息。 toString():用来返回对象的字符串表示。 finalize():用于在垃圾收集前清除对象。 notify(),notifyAll(),wait():用于多线程处理中的同步。 3.2.4抽象类和接口 1. 抽象类 java语言中,用abstract 关键字来修饰一个类时,这个类叫做抽象类,用abstract 关键字来修饰一个方法时,这个方法叫做抽象方法。格式如下: abstract class abstractClass{ …} //抽象类 abstract returnType abstractMethod([paramlist]) //抽象方法 抽象类必须被继承,抽象方法必须被重写。抽象方法只需声明,无需实现;抽象类不能被实例化,抽象类不一定要包含抽象方法。若类中包含了抽象方法,则该类必须被定义为抽象类。 2. 接口 接口是抽象类的一种,只包含常量和方法的定义,而没有变量和方法的实现,且其方法都是抽象方法。它的用处体现在下面几个方面: ◇ 通过接口实现不相关类的相同行为,而无需考虑这些类之间的关系。 ◇ 通过接口指明多个类需要实现的方法。 ◇ 通过接口了解对象的交互界面,而无需了解对象所对应的类。 1)接口的定义 接口的定义包括接口声明和接口体。 接口声明的格式如下: [public] interface interfaceName[extends listOfSuperInterface] { … } extends 子句与类声明的extends子句基本相同,不同的是一个接口可有多个父接口,用逗号隔开,而一个类只能有一个父类。 接口体包括常量定义和方法定义 常量定义格式为:type NAME=value; 该常量被实现该接口的多个类共享; 具有public ,final, static的属性。 方法体定义格式为:(具有 public和abstract属性) returnType methodName([paramlist]); 2)接口的实现 在类的声明中用implements子句来表示一个类使用某个接口,在类体中可以使用接口中定义的常量,而且必须实现接口中定义的所有方法。一个类可以实现多个接口,在implements子句中用逗号分开。 3) 接口类型的使用 接口作为一种引用类型来使用。任何实现该接口的类的实例都可以存储在该接口类型的变量中,通过这些变量可以访问类所实现的接口中的方法。 3.2.5 内部类 1. 内部类的定义和使用: 内部类是在一个类的内部嵌套定义的类,它可以是其它类的成员,也可以在一个语句块的内部定义,还可以在表达式内部匿名定义。 内部类有如下特性: ◇ 一般用在定义它的类或语句块之内,在外部引用它时必须给出完整的名称.名字不能与包含它的类名相同。 ◇ 可以使用包含它的类的静态和实例成员变量,也可以使用它所在方法的局部变量。 ◇ 可以定义为abstract。 ◇ 可以声明为private或protected。 ◇ 若被声明为static,就变成了顶层类,不能再使用局部变量。 ◇ 若想在Inner Class中声明任何static成员,则该Inner Class必须声明为static。 例3-8 是一个说明内部类如何使用的例子,其中,定义了两个内部类:MouseMotionHandler和MouseEventHandler,分别用来处理鼠标移动事件和鼠标点按事件。 【例3-8】 import java.awt.*; import java.awt.event.*; public class TwoListenInner { private Frame f; private TextField tf; public static void main(String args[]) { TwoListenInner that=new TwoListenInner(); that.go(); } public void go() { f=new Frame("Two listeners example"); f.add("North",new Label("Click and drag the mouse")); tf=new TextField(30); f.add("South",tf); f.addMouseMotionListener(new MouseMotionHandler()); f.addMouseListener(new MouseEventHandler()); f.setSize(300,300); f.setVisible(true); } public class MouseMotionHandler extends MouseMotionAdapter { public void mouseDragged(MouseEvent e){ String s="Mouse dragging:X="+e.getX()+"Y="+e.getY(); tf.setText(s); } } public class MouseEventHandler extends MouseAdapter { public void mouseEntered(MouseEvent e){ String s="The mouse entered"; tf.setText(s); } public void mouseExited(MouseEvent e){ String s="The mouse left the building"; tf.setText(s); } } } 同学们可以运行一下这个程序,看一看它的运行结果。当你将鼠标移入frame时,文本框中会出现:"The mouse entered";当你在frame中拖曳鼠标时,文本框中会出现:"Mouse dragging:X=64 Y=117";当鼠标离开文本框时,文本框中出现:"The mouse left the building"。 2. 匿名类的定义和使用: 匿名类是一种特殊的内部类,它是在一个表达式内部包含一个完整的类定义。通过对例6-7中go()部分语句的修改,我们可以看到匿名类的使用情况。 public void go() { f=new Frame("Two listeners example"); f.add("North",new Label("Click and drag the mouse")); tf=new TextField(30); f.add("South",tf); f.addMouseMotionListener(new MouseMotionHandler(){ /*定义了一个匿名类,类名没有显式地给出,只是该类是 MouseMotionHandler类的子类*/ public void mouseDragged(MouseEvent e){ String s="Mouse dragging:X="+e.getX()+"Y ="+e.getY(); tf.setText(s); } }); f.addMouseListener(new MouseEventHandler()); f.setSize(300,300); f.setVisible(true); } 3. 内部类的优缺点: ◇ 优点:节省编译后产生的字节码文件的大小 ◇ 缺点:使程序结构不清楚 -black> java中的数据类型有简单数据类型和复合数据类型两种,其中简单数据类型包括整数类型、浮点类型、字符类型和布尔类型;复合数据类型包含类、接口和数组。表达式是由运算符和操作数组成的符号序列,对一个表达式进行运算时,要按运算符的优先顺序从高向低进行,同级的运算符则按从左到右的方向进行。条件语句、循环语句和跳转语句是java中常用的控制语句。 数组是最简单的复合数据类型,数组是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和下标来唯一地确定数组中的元素。Java中,对数组定义时并不为数组元素分配内存,只有初始化后,才为数组中的每一个元素分配空间。已定义的数组必须经过初始化后,才可以引用。数组的初始化分为静态初始化和动态初始化两种,其中对复合数据类型数组动态初始化时,必须经过两步空间分配:首先,为数组开辟每个元素的引用空间;然后,再为每个数组元素开辟空间。Java中把字符串当作对象来处理, java.lang.String类提供了一系列操作字符串的方法,使得字符串的生成、访问和修改等操作容易和规范。 【本讲小结】 类是Java语言面向对象编程的基本元素,它定义了一个对象的结构和功能。 Java类中包含成员变量和成员方法。成员变量有两种,用static 关键字修饰的变量为类变量,无static 修饰的变量为实例变量。相应地,成员方法也有两种,用static 修饰的为类方法,无static修饰的为实例方法。实例方法不仅可以对当前对象的实例变量进行操作,也可以对类变量进行操作;但类方法只能访问类变量。实例变量和实例方法必须由实例对象来调用,而类变量和类方法不仅可由实例对象来调用,还可由类名直接调用。Java通过在类定义的大括号里声明变量来把数据封装在一个类里,这里的变量称为成员变量。为了解决类名可能相同的问题,java 中提供包来管理类名空间。 封装性、继承性和多态性是java语言中面向对象的三个特性。接口是java 语言中特有的数据类型,由于接口的存在,解决了java语言不支持多重继承的问题。内部类是指在一个类的内部嵌套定义的类。 1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。 2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉! |
本站协议 |
版权信息 |
关于我们 |
本站地图 |
营业执照 |
发票说明 |
付款方式 |
联系方式
深圳市宝安区西乡五壹电子商行——粤ICP备16073394号-1;地址:深圳西乡河西四坊183号;邮编:518102 E-mail:51dz$163.com($改为@);Tel:(0755)27947428 工作时间:9:30-12:00和13:30-17:30和18:30-20:30,无人接听时可以再打手机13537585389 |