第5章-类和对象

第5章-类和对象

ID:34000046

大小:533.64 KB

页数:25页

时间:2019-03-03

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

《第5章-类和对象》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、初学者除了看资料学习java,加入本群还有免费在线学习公开课。Java学习基础交流Q群+544975743学习进度快人一步ó76ó第5章类和对象第5章类和对象Java是一门面向对象的语言,其重要的一个思想就是“万物皆对象”。而类是Java的核心内容,它是一种逻辑结构,定义了对象的结构,可以由一个类得到众多相似的对象。从某种意义上说,类是Java面向对象性的基础。Java与C++不同,它是一门完全的面向对象语言,它的任何工作都要在类中进行。这一章的内容主要讲解Java类和对象,包括类的使用以及类中的属性、方

2、法、构造函数、对象、方法参数传递以及Java垃圾回收等内容。5.1类类实际上是定义一个模板,而对象是由这个模板产生的一个实例。实际上前面的程序中也是在类中实现的,不过全在类中的main方法中演示程序的使用,没有体现面向对象编程的思想。这一节里主要讲解Java类的相关知识,包括类的形式、类包含的内容属性和方法。5.1.1类的一般形式Java的重要思想是万物皆对象,也就是说在Java中把所有现实中的一切人和物都看做对象,而类就是它们的一般形式。程序编写就是抽象出这些事物的共同点,用程序语言的形式表达出来。例如

3、,可以把某某人看做一个对象,那么就可以把人作为一个类抽象出来,这个人就可以作为人这个类的一个对象。类的一般形式如下。class类名{类型实例变量名;类型实例变量名;……类型方法名(参数){//方法内容}……}人的一般属性包括姓名、性别、年龄、住址等,他的行为可以有工作、吃饭等内容。这样人这个类就可以有如下定义。classHuman{//声明各类变量来描述类的属性Stringname;Stringsex;intage;Stringaddr;voidwork(){ó77óJava从入门到精通System.ou

4、t.println("我在工作");}voideat(){System.out.println("我在吃饭");}}需要注意的是,在类名面前并没有向以前那样加上修饰符public,在Java中是允许把许多类的声明放在一个Java中的,但是这些类只能有一个类被声明为public,而且这个类名必须和Java文件名相同。这里主要讲解Java的一般形式,只使用类的最简单形式,便于读者理解。关于修饰符这里先做简单的说明。ßprivate:只有本类可见。ßprotected:本类、子类、同一包的类可见。ß默认(无修饰

5、符):本类、同一包的类可见。ßpublic:对任何类可见。类的一些描述性的属性,如人这个类中的姓名、性别、年龄、住址这些内容,可以看做类的字段。本书对他们使用的称谓是实例变量,人这个类定义了以下4个实例变量:Stringname;Stringsex;intage;Stringaddr;当然,为了说明类的最简单形式,并没有对这些变量加上修饰符,这样的效果是使用默认修饰符。可以用以下形式声明这些变量。publicStringname;publicStringsex;publicintage;publicStr

6、ingaddr;实际上在类中的实例变量最好被声明为private,这更符合面向对象的封装性原则,这是后面的内容,暂且先不考虑,只讲如何使用它们而暂且不涉及使用的合理性。方法从返回类型上可分为有返回值和无返回值两类。当不需要返回值时把方法用关键字void修饰,表示该方法无返回值。如果有返回值的话,方法的类型定义必须和方法的返回值相同。如果想要方法返回一个字符串类型,就要有如下声明。publicStringreturnString(){//方法体return"aString";}当然修饰符是根据需要确定的。如

7、果方法需要返回一个int型,方法的类型也必须为int型,否则程序编译会报错。有时候需要给方法传递参数,就需要使用带参数的方法,这种方法的一般形式如下。类型方法名(参数类型参数1,参数类型参数2…){//方法体}下面的程序示意了一个带参数的方法。classHuman{ó78ó第5章类和对象Stringname;Stringsex;intage;Stringaddr;voidwork(){System.out.println("我在工作");}voideat(){System.out.println("我在吃

8、饭");}//定义一个方法,返回值为String类型StringgetState(inttime){Stringstate=null;if(time>=0&&24>=time){if(time>8&&time<17)state="我在工作";elseif(time>17&&time<22)state="我在学习";elseif(time>22

9、

10、time<7)state="我在睡觉";}elsestate="错误的时间";re

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

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

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