最新Java面向对象程序设计与系统开发第2章 面向对象开发特点(共41张PPT课件).pptx
《最新Java面向对象程序设计与系统开发第2章 面向对象开发特点(共41张PPT课件).pptx》由会员分享,可在线阅读,更多相关《最新Java面向对象程序设计与系统开发第2章 面向对象开发特点(共41张PPT课件).pptx(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计面向对象程序设计与系统与系统(xtng)开发开发第第2章章 面向对象开发面向对象开发(kif)特点特点 第一页,共四十一页。2驱动驱动(q dn)任任务务一一 将上一章中的矩形类进行改造,为了(wi le)对象中数据的安全性,其长、宽两个属性在本类创建的对象外不可访问;同时要求当矩形对象产生的时候就已经有具体的长度和宽度,而不是在生成对象后再给长宽赋值。其保留了计算本身周长和面积的功能 第二页,共四十一页。3目标目标(mbio)及知识点及知识点类中类中setter和和getter方法方法 2构造方法构造方法 this、 、static关关键键字字 3类及其成员的访问控制修饰符类
2、及其成员的访问控制修饰符 4类的封装类的封装 1 1第三页,共四十一页。4类的封装性类的封装性 封装(封装(Encapsulation)就是把对象的属性和行为)就是把对象的属性和行为(xngwi)结合成一结合成一个独立的单位,并尽可能隐蔽对象的内部细节。个独立的单位,并尽可能隐蔽对象的内部细节。 第四页,共四十一页。5 Java中的包中的包 Java包(包(package)就是具有一定相关性的)就是具有一定相关性的Java文件文件(wnjin)的集合的集合创建创建(chungjin)包包第五页,共四十一页。6在包中创建在包中创建(chungjin)类类 package 包名包名1.包名包名2.
3、包名包名3. ;第六页,共四十一页。7使用使用(shyng)包包使用使用(shyng)import语语句句:import 包名包名1.类类名或接口名;名或接口名; import 包名包名1.包名包名2.*; ; 直接使用包直接使用包:java.util.ArrayList list = new java.util.ArrayList(); 第七页,共四十一页。8 类的访问类的访问(fngwn)权限权限 一个一个类仅类仅有两个可能的有两个可能的访问权访问权限:默限:默认认(mrn)的和公有的和公有( (public)的。当一个)的。当一个类类被声明被声明为为public时时, ,该该类类可被任何
4、包的代可被任何包的代码访问码访问;如果一个;如果一个类为类为默默认认的的访问权访问权限,那么限,那么仅仅能由同一包内的其他代能由同一包内的其他代码码所所访问访问。 。第八页,共四十一页。9类成员类成员(chngyun)的访问权限的访问权限 Java类的成员类的成员(chngyun)变量和成员变量和成员(chngyun)方方法的访问权限法的访问权限修饰符无类修饰符类成员修饰符privatedefaultprotectedpublic同一类同一个包不同包的子类不同包非子类第九页,共四十一页。10举例说明举例说明v/ 源文件Rectangle.javavpackage com.bean; /本类属于
5、com包的bean子包下vpublic class Rectangle / 该类的权限为publicv / 私有(syu)的成员变量v private double length;v private double width;v / 求长方形的面积,注意该方法权限v double area()v return length * width;v v /*打印输出,公共的成员方法*/v public void display()v / 调用当前对象的成员变量vSystem.out.println(长: + length + t宽: + width);v / 调用当前对象的成员方法vSystem.o
6、ut.println(长方形的面积是: + area();v v第十页,共四十一页。11举例说明举例说明v/ 源文件RectangleDemo.javav package com.demo; / 该类属于该类属于com.demo包下包下vimport com.bean.*; / 导入导入com.bean包中所有的类包中所有的类vpublic class RectangleDemovpublic static void main (String args)v/ 调用带参构造方法创建一个长方形对象rectvRectangle rect = new Rectangle();v/ rect.width
7、 = 2; /private不允许类外部调用v/ rect.length = 4; / private不允许类外部调用v/ System.out.println(长方形的面积是: + rect.area(); / 默认(mrn)权限不同包的类不能调用v rect.display(); / 调用对象rect的成员方法vv第十一页,共四十一页。12getter、setter方法方法(fngf) 若需要在其他类中访问私有成员,可以通过非私有的若需要在其他类中访问私有成员,可以通过非私有的setter和和getter方法来访问。这样的方法常命名方法来访问。这样的方法常命名(mng mng)为为setX
8、xx()和和getXxx(),分别实现对封装数据的设置和读取操作分别实现对封装数据的设置和读取操作 public void setWidth(double w) / 设置设置(shzh)长方形的宽长方形的宽 width = w; public double getWidth() / 获取长方形的宽获取长方形的宽 return width; public void setLength(double l) / 设置长方形的长设置长方形的长 length = l; public double getLength() / 获取长方形的长获取长方形的长 return length; 第十二页,共四十一页
9、。13类的构造方法类的构造方法 构造方法的一般形式(xngsh)如下 :修修饰饰符符 方法方法(fngf)名名(形式参数列表形式参数列表) / 方法体方法体1、构造方法名与类名相同。、构造方法名与类名相同。2、构造方法不返回任何值,也没有返回类型。、构造方法不返回任何值,也没有返回类型。3、每一个类可以有零个或多个、每一个类可以有零个或多个(du )构造方法,如果没有写构造方构造方法,如果没有写构造方法默认存在一个没有参数的构造方法。法默认存在一个没有参数的构造方法。4、构造方法在创建一个类的对象时由系统自动地调用执行,、构造方法在创建一个类的对象时由系统自动地调用执行,一般不能显式地直接调用
10、。一般不能显式地直接调用。第十三页,共四十一页。14v class Rectanglev double length; / 长v double width; / 宽v / 带参构造方法,用于初始化长方形的长和宽带参构造方法,用于初始化长方形的长和宽v public Rectangle(double w, double l)v width = w;v length = l;v v / 求长方形的面积(min j)v double area()v return length * width;v v 【例例2-2】继续改造继续改造(gizo)长方体类,使对象创建时能自动初始长方体类,使对象创建时能自
11、动初始化化 长方形的尺寸。长方形的尺寸。第十四页,共四十一页。15v public class RectangleDemovpublic static void main (String args)v/ 调用构造方法初始化每个长方形对象调用构造方法初始化每个长方形对象vRectangle rect1 = new Rectangle(10,20);v Rectangle rect2 = new Rectangle(3,6);vdouble area;v v area = rect1.area(); / 调用area()方法得到(d do)第一个长方形的面积v System.out.println
12、(第一个长方形的面积是: + area);varea = rect2.area(); / 调用area()方法得到第二个长方形的面积v System.out.println(第二个长方形的面积是: + area);vv 第十五页,共四十一页。16 this关键字关键字 在程序中,可以在任何方法内使用在程序中,可以在任何方法内使用this来引用当前的对象,来引用当前的对象,this就指向了本身就指向了本身(bnshn)这个对象这个对象 / 带带参构造方法,用于初始化参构造方法,用于初始化长长方形的方形的长长和和宽宽 Rectangle(double w, double l) this.width
13、 = w; this.length = l; / 带带参构造方法,用于初始化参构造方法,用于初始化长长方形的方形的长长和和宽宽 Rectangle(double width, double length) this.width = width; / 使用使用this来来访问访问同名同名实实例例(shl)变变量量 this.length = length; 第十六页,共四十一页。17this的使用的使用(shyng)场合场合 v 访问当前(dngqin)对象的数据成员。v 访问当前对象的成员方法 第十七页,共四十一页。18。vclass Rectanglev double length; / 长
14、v double width; / 宽v / 带参构造方法,用于初始化长方形的长和宽带参构造方法,用于初始化长方形的长和宽v Rectangle(double width, double length)v this.width = width; / this关键字表示关键字表示(biosh)当前对象当前对象v this.length = length;v v / 求长方形的面积v double area()v return this.length * this.width;v v / 打印输出v void display()v / 调用当前对象的成员变量vSystem.out.println(
15、长: + this.length + t宽: + this.width);v / 调用当前对象的成员方法vSystem.out.println(长方形的面积是: + this.area();v v【例例2-3】在例在例2-2的基础的基础(jch)上修改上修改Rectangle类的构造方法,类的构造方法,使其形式参数与成员变量名称相同使其形式参数与成员变量名称相同第十八页,共四十一页。19static静态静态(jngti)成员成员-静态类成员静态类成员 被声明为被声明为static的成员变量是静态变量,也称为类变量。的成员变量是静态变量,也称为类变量。静态变量本质上是全局变量。当声明该类的对象静
16、态变量本质上是全局变量。当声明该类的对象(duxing)时,不时,不生成生成static变量的副本,类的所有实例共享同一个变量的副本,类的所有实例共享同一个static变量变量 被声明为被声明为static的成员方法是静态方法,也称为类方法。的成员方法是静态方法,也称为类方法。静态方法有几条限制:静态方法有几条限制:(1)它们仅可以调用其他)它们仅可以调用其他static方法。方法。(2)它们只能访问)它们只能访问static数据成员。数据成员。(3)它们不能以任何方式引用)它们不能以任何方式引用this或或super第十九页,共四十一页。20static静态静态(jngti)成员成员-静态代
17、码块静态代码块static / 程序程序(chngx)块块 静态代码块不是类的方法,没有方法名、返回值和参数表。静态代码块不是类的方法,没有方法名、返回值和参数表。静态代码块也与类方法一样,不能使用静态代码块也与类方法一样,不能使用(shyng)实例变量及方法,实例变量及方法,也不能使用也不能使用this或或super关键字。关键字。 static块块(即静(即静态态代代码块码块),),这这个个块仅块仅在在该类该类被被第一次加第一次加载时执载时执行一次行一次。静。静态态代代码块码块的的语语法格式:法格式:第二十页,共四十一页。21vpublic class UseStaticv static
18、int a = 3; / 静态静态(jngti)变量(类变量),并初始化变量(类变量),并初始化v static int b; / 静态变量静态变量v int c = 10; / 实例变量实例变量v static void display(int x) / 静态方法(类方法)静态方法(类方法)v System.out.println(x = + x);v System.out.println(a = + a);v System.out.println(b = + b);v /System.out.println(c = + c);/静态方法不能直接调用非静态成员v v static / 静态代
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新Java面向对象程序设计与系统开发第2章 面向对象开发特点共41张PPT课件 最新 Java 面向 对象 程序设计 系统 开发 特点 41 PPT 课件
限制150内