4 面向对象程序设计

4 面向对象程序设计

ID:44232026

大小:645.50 KB

页数:125页

时间:2019-10-19

4 面向对象程序设计_第1页
4 面向对象程序设计_第2页
4 面向对象程序设计_第3页
4 面向对象程序设计_第4页
4 面向对象程序设计_第5页
资源描述:

《4 面向对象程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第4章 面向对象程序设计4.1类4.2static关键字4.3对象4.4this关键字4.5变量的作用域4.6包4.7访问权限4.8类的继承4.9向上转型4.10多态性4.11abstract类和abstract方法4.12接口4.13内部类4.14匿名类4.15异常4.16Class类4.17基本类型的类包装4.1类类是组成Java程序的基本要素。类封装了一类对象的属性和方法。类是用来定义对象的模板。4.1.1类的定义[public][abstract

2、final]classPeople{…}“classPeople”

3、叫做类声明;“People”是类名。注意:不可以用protected、private修饰类。类声明之后的一对大括号“{”,“}”以及它们之间的内容称做类体,大括号之间的内容称做类体的内容。类体的内容由两部分构:一部分是成员变量的定义,用来刻画属性;另一部分是方法的定义,用来刻画功能。类声明类体classTriangle{floatwidth,height;//成员变量定义部分doublearea(){//方法定义returnwidth*height*0.5;}voidsetHeight(floath){//方法定义hei

4、ght=h;}voidsetWidth(floatw){//方法定义width=w;}}4.1.1类的定义(续)4.1.2类的成员变量成员变量完整的声明格式如下:[public

5、protected

6、private][static][final][transient][volatile]<类型><成员变量名>注意:(1)static声明的变量称为类变量。其他可称为实例变量。(2)final用来声明一个常量。(3)transient用来声明一个临时变量。(4)volatile用于并发线程。4.1.3方法方法一般格式:[pub

7、lic

8、protected

9、private][static][final

10、abstract][native][synchronized]<类型><类成员方法名>([<参数表>])[throws]{……}注意:(1)static声明的方法称为类方法,其他的可称为实例方法。(2)final声明方法不能被子类重写。(3)native声明的方法可用其他语言实现。(4)synchronized用来控多个并发线程对共享数据的访问.4.1.4方法重载含义:在同一个类中一个方法名被用来定义多个方法。classScr

11、een{publicvoidprint(inti){…}publicvoidprint(floati){…}publicvoidprint(doubled){…}}重载必须遵守原则:参数表必须不同,以此区分不同方法体。返回类型、修饰符可相同或不相同。4.1.5构造方法构造方法是一种特殊方法,它的名字必须与它所在的类的名字完全相同,而且没有类型,构造方法也可以重载。classTriangle{floatwidth,height;Triangle(){width=60;height=100;}Triangle(floatx,

12、inty){width=x;height=y;}}4.1.5构造方法4.2static关键字用static修饰的成员变量称为类变量(静态成员变量)。用static修饰的方法称为类方法(静态方法)。用static修饰的语句块称为静态初始化语句块。4.2.1类变量在该类所有实例之间是共享的。在加载该类时,只分配一次空间,并初始化。加载类的可能情况:(1)创建类的对象。(2)调用类变量或者类方法。(3)调用Class.forName()方法调用方式:(1)对象调用(2)类名调用4.2.2类方法调用方式:(1)对象调用(2)类名

13、调用注意:(1)类方法不能直接访问所属类的非静态变量和方法。(2)子类不能重写父类的静态方法,但可以通过定义与父类相同的方法,从而隐藏父类中的静态方法。(3)子类不能把父类的非静态方法重写为静态方法。4.2.3静态初始化语句块静态初始化语句块:没有存在于任何方法体中的被static修饰的语句块。在加载该类时执行且只执行一次。其格式为:static{语句}例子1classTriangle{staticfloatwidth=1,height=1;staticdoublearea(){returnwidth*height*0.

14、5;}static{System.out.println("第一次加载"+"Triangle的显示信息。"+width+height);}}publicclassExample4_1{publicstaticvoidmain(Stringargs[]){System.out.println(Triangle.area

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

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

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