面向对象编程.ppt

上传人:本田雅阁 文档编号:2613197 上传时间:2019-04-19 格式:PPT 页数:106 大小:1.05MB
返回 下载 相关 举报
面向对象编程.ppt_第1页
第1页 / 共106页
面向对象编程.ppt_第2页
第2页 / 共106页
面向对象编程.ppt_第3页
第3页 / 共106页
面向对象编程.ppt_第4页
第4页 / 共106页
面向对象编程.ppt_第5页
第5页 / 共106页
点击查看更多>>
资源描述

《面向对象编程.ppt》由会员分享,可在线阅读,更多相关《面向对象编程.ppt(106页珍藏版)》请在三一文库上搜索。

1、第三章 面向对象编程 面向对象编程 n学习目标 n掌握:掌握创建和使用类对象、使用包的基本方法。 n理解:理解面向对象程序设计的基本思想和面向对象 的概念。 n了解:类的多态,接口的声明及实现方法。 n重点 n明确各种修饰符的作用,理解继承和复用的概念 n理解父类和子类 n学会Java类的定义和对象的创建。 n难点 n理解多态性是如何扩充和维护系统性能 n类多态的实现。 本讲要点 面向对象编程 面向过程和面向对象 面向过程程序设计示意图 面向对象程序设计示意图 1-4 面向对象编程 3.1面向对象的思想 n面向对象的基本概念 n对象是具有某种特性和某种功能的东西。 n将同一种类型的对象归为一个

2、类。 n类是对象的抽象,对象是类的实例。 n类的特征和行为分别命名为属性和方法 n类是对象的模板,而对象是类的实例; n共性与个性的关系,是抽象与具体的关系 。 面向对象编程 n例如:电视机类 属性:尺寸 颜色 型号 方法:打开 关闭 选择节目 面向对象编程 3.1面向对象的思想 n一个类中定义的方法可被该类的对象调用, 对象方法的每一调用被称作发送一个消息 message给对象 。 n对象间是相互独立,通过发送消息相互影响 。一个消息由三部分组成: n(1) 消息目标对象; n(2) 执行方法的名字; n(3) 执行方法所需要的参数(parameters)。 面向对象编程 n封装性 n封装性

3、就是把对象的属性和方法结合成一个独立的相 同单位,并尽可能隐蔽对象的内部细节。对外形成一 个边界或者说形成一道屏障,只保留有限的对外 接口使之与外部发生联系。 n继承性 n特殊类的对象拥有其一般类的全部属性与方法,称作 特殊类对一般类的继承 .一般类为父类(superclass, 超类),特殊类为子类(subclass)。 n多态性 n对象的多态性是指在一般类中定义的属性或方法被特 殊类继承之后,可以具有不同的数据类型或表现出不 同的行为。 面向对象的特点 面向对象三大机制: 封装:隐藏内部实现 继承:复用现有代码 多态:改写对象行为 面向对象编程 3.2类 n类由数据成员和方法组成。类封装了

4、一类对象的状 态和方法 。 汽车(类) 品牌 型号 颜色 - 加速与减速设计 转向设计 刹车设计 面向对象编程 类的声明 n类的修饰符用于说明类的特征和访问权限,包括 public,abstract,final,friendly。public:表示 此类为“公共”类 ; abstract:表示此类为“抽象”类 ; final:表示此类为“最终”类 . n类名是Java标识符。通常,类名的第一个字母为大写 。 类的修饰符class类名extends 父类名 implements ,接口名 成员变量; 成员方法;(简称方法) 类声明 类体 系统定义类(系统提供的类):已经定义好的类,可直接使用。

5、用户定义类(用户自己定义的类):创建一个新类,即创建一个新 的数据类型。 Java 类 面向对象编程 n一个Java程序可以定义很多个类,但只能有一个 public类,程序的主类必须是public类。每个程序 都从主类开始执行。 面向对象编程 nclass,extends,implements都是Java关键字 。 nclass表明定义类。 nextends表明目前定义的类是父类继承而来的子类,该 父类必须存在。 nimplements表明类要实现某个接口。各接口名之间用 逗号“,”分隔。 n类体包含:实现类功能的Java语言程序代码、成 员变量、成员方法。 n类的成员变量定义: 修饰符 数据

6、类型 成员变量=初值; n成员变量的修饰符 n访问控制修饰符public、protected、private; n存在修饰符static、abstract和final。 类的声明 面向对象编程 n其中: nfinal:表示该变量不能再被修改,称为常量。 例如:final int a=3; nstatic:表示该变量时静态变量,也称为类变量。 属于这个类的所有对象的变量。而实例变量只属于 某个对象。通过“类.变量名”和“对象.变量名”引用。 n默认修饰符,如果某个成员变量没有设置访问权限 ,允许类自身以及在同一个包中的所有类的变量访 问。 面向对象编程 nclass Example n nint

7、 i; nstatic int j; npublic static void main(String args) n nExample a=new Example(); na.j=3; nExample.j=2; na.i=4; nExample.i=5; n n 面向对象编程 n类的成员方法 定义的一般形式为: 方法修饰符 () 方法体 n成员方法修饰符 主要有public、private、protected、final、static、 abstract和synchronized七种 。 n成员方法的返回值类型 n方法返回值用return语句来实现,返回的数据类型必须 与方法说明中的方法返回

8、值类型一致 ; n如果不需要返回值,则其返回值类型被说明为void; 类的声明 面向对象编程 nfinal:为最终方法,不能在其所在类的子类中被重载 ,只能被继承,不能被重写。 nstatic:不需要初始化该方法所在的类。也不能被它 的子类所重载。 在一个static方法中,只能访问被定义为static的类 变量和类方法。 nabstract:抽象方法,只有方法说明,没有方法体。 在它所在的类的子类中具体实现。抽象方法所在的 类称为抽象类。 nsynchronized:同步方法,在多线程中使用。 面向对象编程 n方法名 成员方法名是Java语言合法的标识符。 n参数列表 成员方法的参数列表是由

9、逗号分隔的类型及参数名组成, 是可选项。 n方法体 方法体是一个方法定义的主要部分,包含了所有实现方 法功能的Java语言程序代码,方法体用“ ”括起来 。 例3-2 :源程序名为TestCir.java;定义一个方法,其功能是 根据参数r的大小,返回圆的面积。 运行结果: 类的声明 面向对象编程 public class TestCir public static void main(String args) /main方法 double k; TestCir mj=new TestCir(); k=mj.area(5); System.out.println(k); public doub

10、le area(int r) /定义area方法,带有一个参数r final double PI=3.14; /定义常量PI为3.14 return PI*r*r; /由r的值,计算面积,返回面积值 类的声明 面向对象编程 项目任务: n定义一个正方形,它的数据成员包括长和宽,成员 函数包括设置长和宽的值,求长方形的面积。在主 方法中定义正方形对象,求长是5,宽是3的面积。 然后再求长是8,宽是4的面积。 n定义一个职员类Emplyee(姓名,年龄,性别,薪 水),一个显示信息的方法,并输出职员信息。 面向对象编程 构造方法 构造方法是一种特殊的方法,其名称与类名相同。 Java语言中每个类都

11、有构造方法 。 n构造方法的特点 n构造方法没有返回值类型,没有void。其修饰符只能是 访问控制修饰符,即public、private、protected中 的任一个。 n构造方法不能从父类中继承。 n构造方法可以重载,一个类可以有任意多个构造方法。 不同的构造方法根据参数的不同状态来选择合适的构造 方法。 n构造方法不能直接通过方法名引用,必须通过new运算 符。 n在构造方法中调用当前类和其父类的构造方法,但必须 在方法体的第一条语句。 面向对象编程 n在前一个任务的基础上,构造3个构造函数。 面向对象编程 this对象本身 n表示对象本身 n在不同方法中表示调用这个方法的对象 n在构造

12、方法中表示新创建的对象 n作用 n使用this访问域及方法 n使用this解决局部变量与成员变量同名 n在构造方法中,用this调用另一个构造方法 n 必须放在第一句 n不能通过this引用类变量、类方法 面向对象编程 class Person String name; public void ex1(String name) /name=name; this.name=name; public void ex2() ex1(“XMJ”);/? this.ex1(“XMJ”);/? /局部变量与成员变量同名 public class A public A(int i) public A(int

13、 i,int j) this(5);/第一句 /调用另一个构造方法 面向对象编程 super直接父类 使用super访问父类被子类隐藏的同名的成员 使用父类的构造方法super()必须放在第一句 class A int i; void value() i=10; System.out.println(i); class B extends A int i; void value() i=20; super.value(); System.out.println(i); System.out.println(super.i); 面向对象编程 nthis与super的区别 n this使用当前类的

14、构造方法,super使用其 父类的构造方法。 nthis用以指代一个对象自身,它的作用主要是 将自己当成对象作为参数,传送给别的对象 中的方法; nsuper为了访问父类的成员变量或方法,采用 super加上点和成员变量或方法的形式。 构造方法 面向对象编程 例3-3:源程序名为Inheritance.java,是构造方法的例子。 /*定义一个父类superclassname*/ class superclassname int x; superclassname() /父类无参数构造方法 x=3; System.out.println(“在父类中x=“+x); void dosomethin

15、g() /父类中成员方法 System.out.println(“在父类中dosomething()“); 面向对象编程 /*定义一个子类subclass,从superclassname继承而来*/ class subclass extends superclassname int x; subclass() super(); /调用父类无参数构造方法 x=5; System.out.println(“在子类中x=“+x); void dosomething() /子类中成员方法 super.dosomething(); /调用父类中成员方法 dosomething() System.out.

16、println(“在子类中dosomething()“); System.out.println(“super.x=“+super.x+“ sub.x=“+this.x); /*利用super引用父类对象,利用this引用当前对象*/ 面向对象编程 /*定义主程序类inheritance*/ class Inheritance public static void main(String args) subclass subc=new subclass(); /调用子类构造方法创建一个对象subc subc.dosomething(); /调用子类的成员方法 dosomething() 运行结

17、果: 面向对象编程 3.3对象 n对象的定义 = new(参数1,参数2,); 或者: ; = new (参数1,参数2,); n创建对象实际执行了三个操作:说明对象、实例化 对象和初始化对象。 n说明对象:就是给对象命名,也称定义一个实例变量。 一般形式为: ; n实例化对象:给对象分配存储空间,用来保存对象的数据 和代码。new运算符用来实现对象的实例化。 = new (参数1,参数2,); 面向对象编程 对象的使用 n初始化对象通过调用该对象所在类的构造方法来实 现的。 n 引用对象的方法一般形式: (,); 例3-4:程序TwoArea.java,是引用对象的例子。 执行结果: 面向对

18、象编程 /*定义一个类Point*/ class Point public int x; /定义成员变量 public int y; /定义成员变量 public Point() /Point构造方法,不带参数 this.x=0; /引用当前x this.y=0; /引用当前y public Point(int x,int y) /Point构造方法, 带两个参数 this.x=x; /引用当前x this.y=y; /引用当前y 面向对象编程 /*定义一个类Graph*/ class Graph public int width=0; /定义成员变量 public int height=0;

19、 /定义成员变量 public Point origin; /定义成员变量 public Graph() /Graph构造方法1,不带参数 origin=new Point(0,0); public Graph(Point p) /Graph构造方法2,带一个参数 origin=p; public Graph(Point p,int w,int h) /Graph构造方法3,带三个参数 origin=p; width=w; height=h; 面向对象编程 public void move1(int x,int y) /成员方法move1 origin.x=x; origin.y=y; pub

20、lic void move2(int a,int b) /成员方法move2 origin.x+=a; origin.y+=b; public int area() /成员方法area return width * height; 面向对象编程 public class TwoArea /*定义主程序类*/ public static void main(String args) int x=3,y=4; int w=4,h=5; Point p1=new Point(x,y); /将原点p1定在(3,4)坐标点 Point p2=new Point(6,8); /将原点p2定在(6,8) 坐

21、标点 Graph r1=new Graph(p1,w,h); Graph r2=new Graph(p2,8,10); r1.move1(4,6); /把矩形r1的原点移到(4,6) r2.move2(-2,4); /把矩形r2的原点x坐标减2,y坐标加4 System.out.println(“两个矩形面积差=“+(r2.area() - r1.area(); /*调用成员方法计算矩形r2与r1面积差*/ System.out.print(“r1的原点为(“+r1.origin.x+“,“); System.out.println(r1.origin.y+“)“); System.out.p

22、rint(“r2的原点为(“+r2.origin.x+“,“); System.out.println(r2.origin.y+“)“); 面向对象编程 3.4继承与多态 n继承性 n子类可以沿用父类的某些特征。子类也可以具有自己独 立的属性和操作。 n继承分单继承和多继承。 面向对象编程 什么是继承 n在日常生活中,经常遇到如下问题。有一辆自行车 ,自行车有颜色和型号大小之分,而公路赛车也有 颜色和型号大小之分,公路赛车多了一项速度的优 势。自行车有的东西公路赛车全都有,而公路赛车 有的东西自行车不一定有,它们相同地方有很多。 在Java中,对于这种情况下就采用继承来完成这个 功能。 面向对

23、象编程 /这是一个类,表述的是一个自行车 public class bike public String color; /自行车的颜色 public int size; /自行车的大小,即型号 /这是一个类,表述的是一个公路赛类 pubic class racing_cycle public String color; /自行车的颜色 public int size; /自行车的大小,即型号 public String speed; /公路赛车的速度 面向对象编程 n/这是一个类,表述的是一个自行车 npublic class bike n n public String color;/自行车

24、的颜色 n public int size; /自行车的大小,即型号 n n/这是一个类,表述的是一个公路赛车,它继承于自行车 npubic class racing_cycle extends bike n n public String speed; /公路赛车的速度 n 面向对象编程 n在Java中,被继承的类叫超类(superclass),继承超类 的类叫子类(subclass)。因此,子类是超类的一个功能上 的扩展,它继承了超类定义的所有属性和方法,并且添加了 特有功能方法。 nJava是单继承的,子类可以有很多,父类只能有一个。上面 的例子,如果加一个Friend类,Son只能继承

25、自Father,要 么继承Friend,不能同时继承Father和Friend。 nJava的继承是多层继承的,是一个类可以有很多子类,而子 类下面又可以有很多子类。 n父类没有定义一个无参的构造器,那么编译器就默认生成一 个无参的构造器,也可以在子类构造器里显示使用super方 法调用父类构造器,super方法里写几个参数就可以表示调 用的是父类的哪一个构造器。 面向对象编程 n当父类中没有构造方法或只有不带参数的构造方法 时,系统会在子类构造器自动加上super语句,可 以不显式地添加对父类构造器方法的调用,但如果 父类中有带参数的构造器方法,那么,必须显式在 构造器中使用super调用父

26、类的带参数的构造器方 法,否则编译出错。 面向对象编程 继承性 n继承的目的:实现代码重用。 n子类不能继承父类中访问权限为private的成员变量 和方法。 n子类可以继承父类方法和成员变量,但它不能继承构 造方法。 n创建子类格式: Public class SubClass extends SuperClass 访问权限 class 类名 extends 父类 面向对象编程 例3-5:源程序名Car Demo .java,是类的继承。 class Car int car_number; void set_number(int car_num) car_number=car_num; vo

27、id show_number() System.out.println (“My car No. is :“+car_number); 继承性 面向对象编程 class Bus extends Car int capacity; void set_capacity(int bus_car_capacity) capacity=bus_car_capacity; void show_capacity() System.out.println(“My capacity is: “+ capacity); 面向对象编程 class CarDemo public static void main(St

28、ring args) Bus DemoBus = new Bus(); DemoBus.set_number(6868); DemoBus.show_number(); DemoBus.set_capacity(30); DemoBus.show_capacity(); 运行结果: 继承性 面向对象编程 项目任务: 点类 x坐标和y坐标 方法(获取x和y的坐标) 圆类 x坐标和y坐标,半径r 方法(获取r)和(获取面积) 圆柱类 x坐标和y坐标,半径r,高h 方法(获取h)和(计算体积) 面向对象编程 多态性 n多态性体现在两个方面:由方法重载实现的静态多态 性(编译时多态)和方法重写实现的动

29、态多态性(运 行时多态)。 n方法重写:指方法的含义被重写后替代 。 n子类通过隐藏父类的成员变量和重写父类的方法,可以把父 类的状态和行为改变为自身的状态和行为。 n子类中重写的方法和父类中被重写的方法要具有相同的名字 ,相同的参数表和相同的返回类型,只是函数体不同。 n方法重写时应遵循的原则: 改写后的方法不能比被重写的方法有更严格的访问权限(可以 相同)。改写后的方法不能比重写的方法产生更多的例外。 面向对象编程 n自行车的移动和公路赛车的移动都是靠外力来移动 ,二者是相同的。公路赛车继承了这一特点,但公 路赛车的移动速度就不相同了,移动的快慢就是由 它们各自移动特性不相同决定的, 面向

30、对象编程 nclass bike n n/自行车的移动速度 npublic void move() n nSystem.out.println(“速度慢的!“); n n 面向对象编程 npublic class racing_cycle extends bike n/公路赛车的移动速度 npublic void move() n nSystem.out.println(“速度快的!“); n n 面向对象编程 npublic static void main(String args) n nracing_cycle rc = new racing_cycle(); /创建了一个公路赛车的对象

31、,对象引用为rc nrc.move(); /执行了move()方法 n n 面向对象编程 例3-6:源程序名Rewritex.java,,是方法的重写的 例子。 class SuperClass int x; void setF( ) x=0; System.out.println(“Super的变量x的值“+x); 面向对象编程 void setF( ) /重写了父类的方法 setF() x =6; System.out.println(“Son的变量x的值“+x); class SubClass extends SuperClass int x;/隐藏了父类的变量x 多态性 面向对象编程

32、class Rewritex public static void main(String args) SubClass Son = new SubClass (); Son.setF(); SuperClass Father= new SubClass (); Father.setF(); 运行结果: 多态性 面向对象编程 n方法重载 n方法重载是指同样方法在不同的地方具有不同的含义。 n方法重载使一个类中可以有多个相同名字的方法。编译 器根据参数的不同来静态确定调用相应的方法。 n方法重载中这些方法的参数必须不同,或是参数的数量 不同,或是参数的类型不同。 例3-8:源程序名TestLoa

33、d.java,方法重载的例子。 多态性 /*定义一个方法重载的类*/ class Load void receive(int i) / receive方法,带有int类型参数1个 System.out.print(“Receive one data!:“); System.out.println(“i=“+i); 面向对象编程 void receive(int x,int y) / receive方法,带有int类型参数2个 System.out.print(“Receive two datas!:“); System.out.println(“x=“+x+“,y=“+y); void rec

34、eive(double d) / receive方法,带有double类型参数1个 System.out.print(“Receive one double data!:“); System.out.println(“d=“+d); void receive(String s) / receive方法,带有string类型参数1个 System.out.print(“Receive a sting!:“); System.out.println(“s=“+s); 面向对象编程 /*主程序类*/ public class TestLoad public static void main(Stri

35、ng args) Load mo=new Load (); /创建对象mo mo.receive(1); /调用receive方法,带int类型参数1个 mo.receive(2,3); /调用receive方法,带int类型参数2个 mo.receive(3.14159); /调用receive方法,带double类型参数1个 mo.receive(“It is a Test!“); /调用receive方法,带string型参数1 个 运行结果: 面向对象编程 项目任务 n设计一个math类,通过它可以实现整数的加法运算 和实数的加法运算。 n设计一个employee类,包括数据成员(姓名

36、,年 龄,工号,工资),构造方法,addsalary方法增 加工资(加薪10%),list显示信息。再设计一个 manager类,增加数据成员position,改写 addsalary方法增加工资(加薪20%)。 面向对象编程 3.5抽象类和接口 n抽象类(见Animal.java) n只给出抽象结构,不给出每个成员函数的完整实现的类 。 n抽象方法:是指该方法只有方法说明却没有方法体。 n用abstract 关键字来修饰一个抽象类,用abstract 关 键字来修饰一个抽象方法。 n抽象类必须被继承,抽象方法必须被重写。 例3-9源程序Abstract.java,一个带有抽象成员函数的类。

37、abstract class A abstract void callme( ); void me( ) System.out.println(“在A的me成员函数里“); 面向对象编程 抽象类 class B extends A void callme( ) System.out.println(“在B的callme成员函数里“); public class Abstract public static void main(String args) A a = new B( ); a.callme( ); a.me ( ); 运行结果: 面向对象编程 抽象类 用关键字abstract修饰的类

38、称为抽象类 abstract class A /类A为抽象类 不能直接被实例化,因此一般作为其它类的父类, 定义目的是提供可由其子类共享的一般形式。 抽象类需要继承,子类根据自身需要扩展抽象类 。 面向对象编程 抽象类 用关键字abstract修饰的方法称为抽象方法 abstract class A abstract int aa(int x,int y);/方法aa为抽象方法 抽象类中可以没有抽象方法或某个方法不是 抽象方法,有抽象方法的类一定是抽象类抽象 方法只能位于抽象类。 面向对象编程 接口 nShape.java nJava语言不支持多继承性,即一个子类只能有一个 父类,但有时子类需

39、要继承多个父类的特性,因此, 引入了接口。 n接口(Interface),是一些抽象方法和常量的集合。 n接口的定义 n使用关键字interface。 n接口定义的一般形式为: 接口修饰符 interface extends 接口体 面向对象编程 npublic abstract class aaa n/抽象类里的抽象方法 nabstract public void show(); n/抽象类里的方法 npublic int getMax() n n/定义int类型的私有变量i nint i = 123; n n/将变量i返回出去并退出方法 nreturn i; n n 面向对象编程 npub

40、lic class test extends aaa n n public static void main(String args) n n test t=new test(); n t.show(); n n public void show() n n System.out.println(“实现了抽象类中的方法”); n n 面向对象编程 接口 n首先来举一个例子,汽车的移动就好比一个接口, 在以后生产的汽车中都遵循这个接口进行制造。而 接口中只定义了汽车移动的形式,没有具体的去定 义是怎么进行移动的,所以接口就好比是一个规定 。 n接口修饰符 interface 接口名称 n n/成

41、员变量和方法的申明 n 面向对象编程 n接口修饰符和类的修饰符是一样的。 ninterface是定义接口的关键字。 n接口里的成员变量默认为public static final类型 的 n接口不能声明为final的,因为final类型的必须要 实现。 n接口就是一个特殊的抽象类,抽象类里有抽象的方 法和普通的方法,而接口里方法全为抽象的,需要 在其子类进行具体的方法实现。类就是一个产品的 详细功能说明,而接口就是这些功能的简要说明。 面向对象编程 接口 n 如果一个抽象类中的所有方法都是抽象的,就可以 将这个类用另外一种方式来定义,也就是接口定义。 n 接口是抽象方法和常量值的定义的集合,从

42、本质上 讲,接口是一种特殊的抽象类,这种抽象类中只包含 常量和方法的定义,而没有变量和方法的实现。 可以使用extends来继承接口的常量和抽象方法,但它与类 中的extends不同,它可以继承有多个父接口(多重继承),各 父接口间用逗号隔开。 接口中的所有常量必须是public static final,方法必须是 public abstract,这是系统默认的,不管你在定义接口时,写 不写修饰符都是一样的。 面向对象编程 接口的定义 n接口修饰符 n接口修饰符为接口访问权限,有public和缺省两种状态。 npublic状态 :用public指明任意类均可以使用这个接口 。 n缺省状态:

43、在缺省情况下,只有与该接口定义在同一 包中的类才可以访问这个接口,而其他包中的类无权访问 该接口。 n父类接口列表 n一个接口可以继承其他接口,可通过关键词extends来实 现,其语法与类的继承相同。被继承的类接口称为父类接 口,当有多个父类接口时,用逗号“,”分隔。 n接口体 n接口体中包括接口中所需要说明的常量和抽象方法。 面向对象编程 接口的实现 n使用关键字implements 。 n在实现一个接口时,类中对方法的定义要和接口中 的相应的方法的定义相匹配,其方法名、方法的返 回值类型、方法的访问权限和参数的数目与类型信 息要一致。 例3-10源程序名interfacetest.jav

44、a,是接口的例子 。 interface superinterface1 /*定义接口1*/ static final double PI=3.14; /说明常量 public double Area(); /public状态方法 interface superinterface2 /*定义接口2*/ double bulk(); /缺省状态方法 面向对象编程 /*定义一个主程序类实现接口*/ public class interfacetest implements superinterface1,superinterface2 double r; double l; public inte

45、rfacetest() /不带参数构造方法 this.r=0.0; this.l=0.0; public interfacetest(double r,double l) /带两个参数的构造方法 this.r=r; this.l=l; 接口的实现 面向对象编程 public double Area() /实现接口方法 return 2*PI*(r+1); public double bulk() /实现接口方法 return PI*r*r*l; public static void main( String args ) interfacetest c1=new interfacetest(1

46、0.0,6.0); /创建类对象 double arearesult; arearesult=c1.Area(); double bulkresult; bulkresult=c1.bulk(); System.out.println(“面积为“+arearesult); System.out.println(“体积为“+bulkresult); 面向对象编程 包 n所谓包,就好比日常生活中的箱子,是一个存放东 西的空间。在Java中包的概念就好比Windows里的目 录的概念,是一层一层的关系。按照功能的分类分 别存放在各个包里。 面向对象编程 n使用包是为了更好地将代码进行分别管理,首先介

47、 绍如何创建一个包,语法为: npackage 包名; n例如下面的程序语句。 npackage a.b; n创建包时有几个注意事项。 npackage为Java保留的关键字,不能使用别的符号进 行代替。 npackage语句必须在第一行。 npackage语句只能有一个,不能有多个。 n如果包有多层的话用句点”.”分隔 面向对象编程 包的定义 n包定义的一般形式为: package .; npackage语句通过使用“”来创建不同层次的包,这个包的 层次对应于文件系统的目录结构。 例如:package java.awt.image 表明这个包存储在javaawtimage目录中。 n在JDK环境下创建一个包,编译Java程序的命令为: javac d 使用-d参数,编译结束后,扩展名为class的 文件被存储在package语句所指明的目录中。 包名全部用小写字母 面向对象编程 包的引入 n使用关键词import语句来引入一个包 。 n如果有package语句,则import语句紧接在其后 ,否则import语句应在程序首位。 n引入import语句的一般形式: import .包名2.包名3.(类名|*); n包的访问权限 n包中封装了类和其他的包, Java语言提供了许多 不同级别的访问

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1