Java中的类与接口 (2).ppt
《Java中的类与接口 (2).ppt》由会员分享,可在线阅读,更多相关《Java中的类与接口 (2).ppt(39页珍藏版)》请在三一办公上搜索。
1、第三章 Java中的类与接口,教授:郭磊,【本章导读】,Java语言其中一个突出特点就是面向对象。所谓面向对象的方法学,就是使我们分析、设计和实现一个系统的方法尽可能地接近我们认识一个系统的方法。包括:面向对象的分析(OOA,Object-Oriented Analysis),面向对象的设计(OOD,Object-Oriented Design),面向对象的程序设计(OOP,Object-Oriented Program)。本章主要介绍面向对象的基本概念,包括类与对象、抽象类、内部类、匿名类、接口和包等。目的是为以后的Java面向对象的编程打好基础。,【本章要点】,类与对象 抽象类内部类匿名类
2、接口包,3.1 类与对象,3.1.1类的声明 1、类的声明格式:类首声明定义类的名字、访问权限以及与其它类 的关系等。类主体定义类的成员,包括变量(数据)和方法(行为),3.1 类与对象,3.1.2 类首声明:class extends implements class:类定义的关键字;extends:表示类和另外一些类(超类)的继承 关系;implements:表示类实现了某些接口;修饰符:表示类访问权限(public)和 类型说明(abstract、final);,3.1 类与对象,3.1.3 成员变量的声明格式:static final static:表示是一个类成员变量(静态变量);f
3、inal:表示是一个常量;例:final double PI=3.1415926;修饰符:表示变量的访问权限(缺省访问friendly、public、protected和private)作用域:整个类。同一类中的所有方法都可以对其访问。并可简单地通过名字来引用。(在方法体内定义的变量是 局部变量,作用域只能在方法体内),3.1 类与对象,3.1.3 成员方法 方法的定义包括两部分:方法声明和方法体。一般格式为:方法声明部分 方法体的内容,3.1 类与对象,3.1.4 对象的创建与引用 1、对象的创建 创建一个对象包括对象的声明和为对象分配成员变量两个步骤。(1)对象的声明 对象声明的一般格式为
4、:类的名字 对象名字;如:Rect rectangleOne;这里,Rect是一个类的名字,rectangleOne是我们声明的对象的名字。用类声明的数据称为类类型变量,即对象,如上述Rect类声明的对象rectangleOne。,3.1 类与对象,1、对象的创建(2)为声明的对象分配成员变量 为声明的对象分配成员变量,即是给变量分配内存空间。使用new运算符和类的构造方法为声明的对象分配成员变量,如果类中没有构造方法,系统会调用默认的构造方法(默认的构造方法是无参数的,你一定还记得构造方法的名字必须和类名相同这一规定),上述的Rect类提供了2个构造方法,下面都是合法的创建对象的语句:rec
5、tangleOne=new Rect();,3.1 类与对象,2、对象的引用 我们已经知道,当用类创建一个对象时,成员变量被分配内存空间,这些内存空间称做该对象的实体或变量,而对象中存放着引用,以确保这些变量由该对象操作使用。因此,如果两个对象有相同的引用,那么就具有同样的实体。,3.1 类与对象,3.1.5 类的继承与多态 只支持单重继承,不支持多重继承,只能从一个父类继承。必须从一个类继承默认是从Object继承如果类Sub是类Super的子类,则类Sub只继承超类Super中非private的成员变量和方法。子类Sub中,包括两部分的内容:从超类Super中继承下来的变量和方法,自己新增
6、加的变量和方法。,3.1 类与对象,3.1.5 类的继承与多态 继承的语法 修饰符 class 类名 extends 父类 新属性;新方法;重载的方法;覆盖的方法;,3.1 类与对象,3.1.5 类的继承与多态多态是指同一个名字的若干个方法,有不同的实现(即方法体中的代码不一样)。通过方法的重载和覆盖来实现多态性。方法的重载 一个类中,有若干个方法名字相同,但方法的参数不同,称为方法的重载。不正确的方法重载public void funover(int a,float b)public int funover(int a,float b),3.1 类与对象,3.1.5 类的继承与多态对于多态,
7、可以总结它为:(1)使用父类类型的引用指向子类的对象;(2)该引用只能调用父类中定义的方法和变量;(3)如果子类中重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法;(动态连接、动态调用)(4)变量不能被重写(覆盖),”重写“的概念只针对方法,如果在子类中”重写“了父类中的变量,那么在编译时会报错。,3.2 抽象类,Java也可以创建专门的类用来当作父类,这种类称为抽象类(abstract class)。即用关键字abstract修饰类称为abstract类(抽象类)。抽象类有点类似“模板”的作用,其目的是要你根据它的格式来修改并创建新的类。不能够通过抽象类直接创建对象
8、,只能通过抽象类派生的新的类,再由新类创建对象。,3.2 抽象类,在Java中,凡是用abstract修饰符修饰的类称为抽象类。它和一般的类不同之处在于:(1)如果一个类中含有未实现的抽象方法,那么这个类就必须通过关键字abstract进行标记声明为抽象类。(2)抽象类中可以包含抽象方法,但不是一定要包含抽象方法。它也可以包含非抽象方法和域变量,就像一般类一样。(3)抽象类是没有具体对象的概念类,也就是说抽象类不能实例化为对象。(4)抽象类必须被继承。子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类。定义一个抽象类的格式如下:abstract class 类名称./类的主体部分注意:
9、在抽象类中,方法的定义可分为两种:一种是普通方法;另一种是抽象方法,此方法以abstract开头,且只声明了返回值的数据类型、方法名称、所需参数,但没有方法体。这样,抽象方法中的处理方式必须在子类中完全实现。,3.2 抽象类,下面我们通过例子,学习抽象方法的使用。例3-11abstract class fatherClassabstract void abstractMethod();void printMethod()System.out.println(fatherClass function!);class childClass extends fatherClassvoid abstr
10、actMethod()System.out.println(childClass function!);public class mainClasspublic static void main(String args)childClass obj=new childClass();obj.printMethod();objabstractMethod();,3.2 抽象类,例子运行的结果。在上面的程序中,首先定义了一个抽象类fatherClass,在这个抽象类中,声明一个抽象方法abstractMethod()和一个非抽象方法printMethod(),接着定义了fatherClass的子类
11、childClass,在childClass中重写了abstractMethod()方法,随后,在主类mainClass中生成类childClass的一个实例,并将该实例引用返回到fatherClass类变量obj中。,3.3 内部类,类可以有两种重要的成员:成员变量和方法,类还可以有一种成员:内部类。Java支持在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类成为内部类的外嵌类。内部类同类中声明的方法或成员变量一样,一个类把内部类看作是自己的成员。外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法。内部类的类体中不可以声明类变量和类方法。外嵌类可以用内部类
12、声明对象,作为外嵌类的成员 在一个类的内部还可以定义类,这就是内部类,也称为嵌套类。,3.3 内部类,内部类本身是一个类,但它同时又是外部类一个成员。作为外部类的成员,它可以毫无限制地访问外部类的变量和方法,包括private成员。这和private的含义并不矛盾,因为private修饰符只是限制从一个类的外部访问该类成员的权限,而内部类在外部类内部,所以它可以访问外部类的所有资源。,3.3 内部类,3.3.1 内部类的分类静态内部类、成员内部类、本地内部类匿名内部类。,3.4 匿名类,匿名类是不能有名称的类,所以没办法引用它们。必须在创建时,作为new语句的一部分来声明它们。这就要采用另一种
13、形式的new语句,如下所示:new 这种形式的new语句声明一个新的匿名类,它对一个给定的类进行扩展,或者实现一个给定的接口。它还创建那个类的一个新实例,并把它作为语句的结果而返回。要扩展的类和要实现的接口是new语句的操作数,后跟匿名类的主体。,3.4 匿名类,Java中内部匿名类用的最多的地方也许就是在Frame中加入Listner了吧。如下:import java.awt.*;import java.awt.event.*;public class QFrame extends Frame public QFrame()this.setTitle(my application);addW
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java中的类与接口 2 Java 中的 接口

链接地址:https://www.31ppt.com/p-6509632.html