第05章 类与对象

第05章 类与对象

ID:34372897

大小:484.44 KB

页数:147页

时间:2019-03-05

第05章 类与对象_第1页
第05章 类与对象_第2页
第05章 类与对象_第3页
第05章 类与对象_第4页
第05章 类与对象_第5页
资源描述:

《第05章 类与对象》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第05章类与对象主讲:程细柱韶关学院计算机科学学院5.1类的定义与对象创建类变量:数据方法:成员成员或成员方法或成员变量函数5.1.1类的定义格式§Java中类定义的一般格式为:修饰符class类名[extends父类名]{类型成员变量1;类型成员变量2;......修饰符返回值类型成员方法1(参数列表){类型局部变量;方法体}修饰符返回值类型成员方法2(参数列表){类型局部变量;方法体}......}1.类的定义§定义中的各元素的具体含义是:¢class是关键字,类定义的开始,类似于type(类型)的含义;¢class前的修

2、饰符可以有多个,用来说明并限定类的使用方式;¢类名是用户为该类所起的名字,要遵从标识符的语法要求;¢extends是关键字,如果所定义的类是从某一个父类派生而来,那么,父类的名字应写在extends之后。Java中只允许单重继承,即父类只能有一个。¢类定义中的数据成员变量可以含有多个,成员变量前面的类型是该变量的类型,可以是任意的类型;¢类中定义的成员方法也可以有多个。方法体中定义的局部变量,只在该方法内有效。类的定义示例§例5-1日期类的定义示例publicclassDate{intday;intmonth;intyear;

3、}该定义表明Date类型是一个类类型,其存储结构由三个整型量组成,分别为day、month和year。类的定义示例§例5-2定义类DataTestOnlypublicclassDataTestOnly{intiVar;floatfVar;booleanbVar;charcVar;intmyPrint(){System.out.println(“Nothing!”);return0;}}例5-2中增加了成员方法,方法名是myPrint()。因为这个方法内没有定义主函数,也没有定义类的任何实例,所以现在还不能执行。2.访问权限修饰

4、符§访问权限修饰符有public、private、protected,它们既可以用来修饰类,也可以用来修饰类中的成分,包括数据成员及成员方法。§此外,还有一个修饰符是friendly。这个修饰符也称为包访问权限,是默认修饰符。如果一个成分前面没有使用任何修饰符的话,隐含地认为使用的是friendly。使用包访问权限限定的成份可以在同一个包内使用,但对于包外的成员,这个成份是不可见的,也就是不能被包外的成员使用。2.访问权限修饰符(续)§使用public修饰的元素是公有的,意味着它可以被程序中的任何对象在程序的任何位置来访问,这

5、是最不受限制的权限。§使用private修饰元素时,表明被修饰元素的使用权限最窄,这样的成分称为私有的。定义为私有的方法或是数据成员,只能被本类的实例对象所访问,其他任何类都无法访问。由此体现数据隐藏的特点。如果想让其他人共享的成员,应该使用其他权限的修饰符。2.访问权限修饰符(续)§例5-3类的私有成员变量示例publicclassDate{privateintday;privateintmonth;privateintyear;}classDateUser{//Date类外publicstaticvoidmain(Stri

6、ngargs[]){Datemydate=newDate();mydate.day=21;//直接访问,错误!}}在类外不能直接访问Date的三个私有成员变量,取值或赋值的操作只能通过调用Date类的成员方法来完成。2.访问权限修饰符(续)无修饰符类型或privateprotectedpublicfriendly同一类是是是是同一包中的子类是否是是同一包中的非子类是否是是不同包中的子类否否是是不同包中的非子类否否否是5.1.2对象的创建和初始化§java中的对象有基本数据类型的对象和类对象两种,对应的创建过程也有两种方式。§对

7、于类类型,需要先说明类的变量,也就是定义这个类型的变量,然后再创建对象,这两步缺一不可。类类型变量名;变量名=new类类型(参数列表);§如果还没有说明变量,也可以将变量的说明与对象的创建合起来完成,格式如下:类类型变量名=new类类型(参数列表);1.对象的创建§对象创建语句中的new是Java用来分配内存的关键字,它表明到这一步系统才真正为对象分配内存。如:Dateyourbirthday=newDate();§当使用new创建对象时,系统按类模板的定义为对象分配内存,同时将该内存块的首地址放到刚才定义的那个引用中,此时引

8、用才真正指向了内存中已创建的这个对象。当仅说明类变量时,因为还没有创建对象,也就没有分配相应的内存,此时引用中保存一个特殊的值null,表明它现在不指向任何地方。2.显式初始化§对象创建后还不能立即使用,因为它的数据成员还没有初值,也就是对象所占的内存中的量还不确定,强行使用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。