第三章面向对象的核心特性_第1页
第三章面向对象的核心特性_第2页
第三章面向对象的核心特性_第3页
第三章面向对象的核心特性_第4页
第三章面向对象的核心特性_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章 -3.2.13.2.23.33.43.4.1

学习目理解类和掌握如何定义类和创建类的构造方法及在创建对象时的区分对变量和基本数据类型变关键字this和super的使1特征:形态和行现实世界特征:形态和行图3.2图3.2软件对象的变量和2类的2类的基本用类创建对象—当我们要通过汽车类来创建一个轿车对象,并使用它的刹车行为方法时,则要//实例化汽车汽车轿车=new汽车(); 汽车对象的刹车轿车.刹车类与 1一般形 员变量和成员方法组成(如图3.3所示一个具体2 |final]class类名泛型 [extends父类名][implements接列表{}各组成部分的具(1)修 public:这个public关键字了类可以在其他类中使用。缺省时,该类只能被同 这个类为抽象类,即这个类不能被实 子类。也就是说,不能用它通过扩展的办法(2)的关键字 extends为该类的父类,这表明该类是其父类的子类。一个子类可以从它的父类继承变量和方法。classsubclassextends…}(4)实现接口在类中使用关键字implements实现接口,当要实现有多个接口时,各接口名以逗号分implements1,接口· 口一种殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现。一个类可以实现多个接口,以某种3员变量和局部成员变量(在类体中定义,在整局部变量(在方法中定义,只在成员 类型成员变量名;局部 如果局部变量名与成员变量名相同,则 成员变量与局部classData{intx=12,y=5;publicvoidsum(){ints;

} s是局部仅限于在方 classData{intx=12,y=5;publicvoidsum()intx=3;//局部变量 了成员变ints;}成员方在类的内部并加以实现。一般在类体中成员变量之后再方法。返回类型方法名返回类型方法名(形式参数{}{}//方法体(1) (2)方法体是一对大括号“{ }”之改写求面积的程ComputeAreaComputeArea类修改为Circle定义类的定义类的定义类的测试publicclass{doublesideA,sideB,sideC;booleanboo;ublicTranledoubleadoublebdouble{sideA=a;sideB=b;sideC=c;{System.out.println("我是一个三角形System.out.println("我不是一个三角形");publicvoid计算面积{{doubledoublearea=Math.srt -sideA* -sideB* -sideC}publicvoid修改三边 ,doubleb,double{if{}{class{publicstaticvoidmain(String{Trangletrangle=newTrangle(12,3,1);}}对类是一个抽象的概念,而对象是类的1、对象的创建对象的一般格式new名([参数(1)对:象名(2对象new象构造方法2象的使使用是通过对象变量或调用对象的变

对象名.成员变例如,设有一个A类其结构如class{intx;对变量x赋值,先创建并实例化类A的对a,然后再通过对象给变量Aa=newA();(2)用对象的调调用格式:对象名.方法名([参数列表日期类示publicpublicclass{••••}intyear,month,voidsetDate(inty,intm,intd{}使用Date1new类的构造方法([参数列表Date1aday=newaday.year= //对象 模

000000

11

1

基本数据类型变量 类型变量的区 面向对象装性、继承性和多态性。重载和类的封封装是面向对象方法的一个重要原它有两个基本涵义:一是指对象的全部属性数据和对数据的全部操作结合在一起,形成一个统一体,也就是对象;另一方面是指,尽可能地隐藏对象的内部细节,只保留有限的对外接口,对数据类的封(1)构造方法与析构(2)方法的(3) 和instanceof对象运 权(5)实例成员与类构造方法与析构构造方1创建类的实例必须使用类的构造方2类的构造方法是类中与类同名的特殊方法,用于创建类的实例并初3构造方法返回的是一个该类的实例,不需要些返回值类构造方publicclass{publicDate2(inty,intm,int year=y;month=m;day=d;}}Date2aday=new 3不同:构造方法与类同名,无3析构publicvoid{}方法的Java根据参数自变量的类型及参数的个例如publicvoidprint(intpublicvoidprint(floatf)publicvoidprint(Strings)重载分成员方法重载和构造方法Math.abs()方 有4种intabs(int floatabs(floata)doubleabs(doublea)构造方法重对于Date2类的构造方法重ClassDate2 earmonthpublic{}publicDate2(inty,intm,int{year=y;month=m;}}重载 则精度),但在有些情况下这会引 重载 则 this.成员变this.成员方法([参数列表this([参数列表adayinstanceof类及其成员 权权类中成员权限修同一同一不同包的所有public(公有protected(保护缺private(私有类权限:只类权限:只有public和缺省两种publicclassclasspublic说明该类成员可被所有类的,指定最大权限。员或其类成或者一中类,不能被其他包非子类。缺省:没有使用修饰符,能被同一类的其他成员或者被同一包中的其他类。不能在包之外。private:只能被同一类的其他成员。指明最小权限。用于类 修饰符(顶级类A如果不使用任 packagea.b.cclassD{} B如果使用public,a.b.c.D才对所有Java包可视。注:不能用protected和private修饰类。 如果一个类不可视,其成员也不 public所有都可private仅在该类内部私有变量和私有例:classprivatefloatweightweight被修饰为私有的float型变量.privatefloatf(floata,floatb)f是私有{…}…}class{privateintmoney;Example12(){}privateint{return}publicstaticvoidmain(String{Example12exa=newExample12();exa.mone=3000intm=exa.getMoney();}}公共变量和公共publicfloatweightweight被修饰为public的float型变量.publicfloatf(floata,floatbf是{…}}友好变量和友好不用private、public、protected修饰符的成员变量和方法被称为友好变量和友好方floatweight;weight是友好的float型变量.floatf(floata,floatb)//f是友好方法.{}象后,如果这个类与Tom类在一包,那么该对象自己的友好变量和友好方在任何一个与Tom同一包中的类 通过Tom类的类名Tom类的类友好成员量和类友好方受保护的成员变量和例:classprotectedfloatweightweight被修饰为protectedfloatf(floata,floatbf是public方法.}}果这个类与类Tom在同一个包中,那么该对象能protectedprotected方法.在任何一个JerryTom是同一个包中的类,那么,Jerryclass void{Tomcat=newTom(); }}★★★★★★★★★★【例3.3】设计并重载构造 使用 增强程序的 运行包含main()方法日日期类的设计问题实例成员与类实例成员变量与类成员。–类成员属于类,用static够两

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论