Java面向对象程序设计与系统开发第2章-面向对象开发特点课件.ppt
《Java面向对象程序设计与系统开发第2章-面向对象开发特点课件.ppt》由会员分享,可在线阅读,更多相关《Java面向对象程序设计与系统开发第2章-面向对象开发特点课件.ppt(40页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计面向对象程序设计与系统开发与系统开发第第2章章 面向对象开发特点面向对象开发特点 2驱动驱动任任务务一一 将上一章中的矩形类进行改造,为了对象中数据的安全性,其长、宽两个属性在本类创建的对象外不可访问;同时要求当矩形对象产生的时候就已经有具体的长度和宽度,而不是在生成对象后再给长宽赋值。其保留了计算本身周长和面积的功能 3目标及知识点目标及知识点类中类中setter和和getter方法方法 2构造方法构造方法 this、static关关键字字 3类及其成员的访问控制修饰符类及其成员的访问控制修饰符 4类的封装类的封装 1 14类的封装性类的封装性 封装(封装(Encapsula
2、tion)就是把对象的属性和行为结合成一)就是把对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。个独立的单位,并尽可能隐蔽对象的内部细节。6在包中创建类在包中创建类 package 包名包名1.包名包名2.包名包名3.;7使用包使用包使用使用import语句句:import 包名包名1.类名或接口名;名或接口名;import 包名包名1.包名包名2.*;直接使用包直接使用包:java.util.ArrayList list=new java.util.ArrayList();8 类的访问权限类的访问权限 一个一个类仅有两个可能的有两个可能的访问权限:默限:默认的和公有的和公有
3、(public)的。当一个)的。当一个类被声明被声明为public时,该类可被任何包的代可被任何包的代码访问;如果一个;如果一个类为默默认的的访问权限,那么限,那么仅能由同一包内的其他代能由同一包内的其他代码所所访问。10举例说明举例说明v/源文件Rectangle.javavpackage com.bean;/本类属于com包的bean子包下vpublic class Rectangle /该类的权限为publicv/私有的成员变量v private double length;v private double width;v/求长方形的面积,注意该方法权限v double area()v
4、return length*width;v v /*打印输出,公共的成员方法*/v public void display()v /调用当前对象的成员变量vSystem.out.println(长:+length+t宽:+width);v /调用当前对象的成员方法vSystem.out.println(长方形的面积是:+area();v v11举例说明举例说明v/源文件RectangleDemo.javavpackage com.demo;/该类属于该类属于com.demo包下包下vimport com.bean.*;/导入导入com.bean包中所有的类包中所有的类vpublic class
5、 RectangleDemovpublic static void main(String args)v/调用带参构造方法创建一个长方形对象rectvRectangle rect=new Rectangle();v/rect.width=2;/private不允许类外部调用v/rect.length=4;/private不允许类外部调用v/System.out.println(长方形的面积是:+rect.area();/默认权限不同包的类不能调用v rect.display();/调用对象rect的成员方法vv13类的构造方法类的构造方法 构造方法的一般形式如下:修修饰符符 方法名方法名(形式
6、参数列表形式参数列表)/方法体方法体1、构造方法名与类名相同。、构造方法名与类名相同。2、构造方法不返回任何值,也没有返回类型。、构造方法不返回任何值,也没有返回类型。3、每一个类可以有零个或多个构造方法,如果没有写构造方、每一个类可以有零个或多个构造方法,如果没有写构造方法默认存在一个没有参数的构造方法。法默认存在一个没有参数的构造方法。4、构造方法在创建一个类的对象时由系统自动地调用执行,、构造方法在创建一个类的对象时由系统自动地调用执行,一般不能显式地直接调用。一般不能显式地直接调用。15vpublic class RectangleDemovpublic static void mai
7、n(String args)v/调用构造方法初始化每个长方形对象调用构造方法初始化每个长方形对象vRectangle rect1=new Rectangle(10,20);v Rectangle rect2=new Rectangle(3,6);vdouble area;v v area=rect1.area();/调用area()方法得到第一个长方形的面积v System.out.println(第一个长方形的面积是:+area);varea=rect2.area();/调用area()方法得到第二个长方形的面积v System.out.println(第二个长方形的面积是:+area);v
8、v16 this关键字关键字 在程序中,可以在任何方法内使用在程序中,可以在任何方法内使用this来引用当前的对象,来引用当前的对象,this就指向了本身这个对象就指向了本身这个对象 /带参构造方法,用于初始化参构造方法,用于初始化长方形的方形的长和和宽 Rectangle(double w,double l)this.width=w;this.length=l;/带参构造方法,用于初始化参构造方法,用于初始化长方形的方形的长和和宽 Rectangle(double width,double length)this.width=width;/使用使用this来来访问同名同名实例例变量量 thi
9、s.length=length;18。vclass Rectanglev double length;/长v double width;/宽v/带参构造方法,用于初始化长方形的长和宽带参构造方法,用于初始化长方形的长和宽v Rectangle(double width,double length)v this.width=width;/this关键字表示当前对象关键字表示当前对象v this.length=length;v v/求长方形的面积v double area()v return this.length*this.width;v v /打印输出v void display()v /调用
10、当前对象的成员变量vSystem.out.println(长:+this.length+t宽:+this.width);v /调用当前对象的成员方法vSystem.out.println(长方形的面积是:+this.area();v v【例例2-3】在例在例2-2的基础上修改的基础上修改Rectangle类的构造方法,类的构造方法,使其形式参数与成员变量名称相同使其形式参数与成员变量名称相同19static静态成员静态成员-静态类成员静态类成员 被声明为被声明为static的成员变量是静态变量,也称为类变量。的成员变量是静态变量,也称为类变量。静态变量本质上是全局变量。当声明该类的对象时,不静
11、态变量本质上是全局变量。当声明该类的对象时,不生成生成static变量的副本,类的所有实例共享同一个变量的副本,类的所有实例共享同一个static变量变量 被声明为被声明为static的成员方法是静态方法,也称为类方法。的成员方法是静态方法,也称为类方法。静态方法有几条限制:静态方法有几条限制:(1)它们仅可以调用其他)它们仅可以调用其他static方法。方法。(2)它们只能访问)它们只能访问static数据成员。数据成员。(3)它们不能以任何方式引用)它们不能以任何方式引用this或或super20static静态成员静态成员-静态代码块静态代码块static/程序程序块 静态代码块不是类的
12、方法,没有方法名、返回值和参数表。静态代码块不是类的方法,没有方法名、返回值和参数表。静态代码块也与类方法一样,不能使用实例变量及方法,静态代码块也与类方法一样,不能使用实例变量及方法,也不能使用也不能使用this或或super关键字。关键字。static块(即静(即静态代代码块),),这个个块仅在在该类被被第一次加第一次加载时执行一次行一次。静。静态代代码块的的语法格式:法格式:21vpublic class UseStaticv static int a=3;/静态变量(类变量),并初始化静态变量(类变量),并初始化v static int b;/静态变量静态变量v int c=10;/实
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 面向 对象 程序设计 系统 开发 特点 课件
限制150内