资源描述:
《第4章 java语言中的面向对象特性ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章Java语言中的面向对象特性类是Java中的一种重要的复合数据类型,封装了一类对象的属性和方法,是这一类对象的原型。实例化一个类就得到一个对象。包括类声明和类体类声明:[public][abstract
2、final]classclassName[extendssuperclassName][implementsinterfaceNameList]{……}一、类的定义及组成4.1类类体定义如下:classclassName{[public
3、protected
4、private][static][final][transie
5、nt][volatile]typevariableName;//成员变量[public
6、protected
7、private][static][final
8、abstract][native][synchronized]returnTypemethodName([paramList])[throwsexceptionList]{statements}//成员方法}成员变量[public
9、protected
10、private][static][final][transient][volatile]typevariableName;/
11、/成员变量static:静态变量(类变量〕;相对于实例变量final:常量transient:暂时性变量,用于对象存档volatile:共享变量,用于并发线程的共享成员方法[public
12、protected
13、private][static][final
14、abstract][native][synchronized]returnTypemethodName([paramList])[throwsexceptionList]//方法声明{statements}//方法体方法声明static:类方法,可通过类名直接调用abstra
15、ct:抽象方法,没有方法体final:方法不能被重写native:集成其它语言的代码synchronized:控制多个并发线程的访问方法声明最简单的方法声明包括方法名和返回类型returnTypemethodName(){methodBody}返回类型可以是任意的java数据类型,当一个方法不需要返回值的时候,返回类型为void。方法声明中还可以给出参数returnTypemethodName(typename[,typname[,……]]){……}参数的类型可以是简单数据类型,也可以是引用数据类型(数组类型、类或接口)。对
16、于简单数据类型,java实现的是值传递,方法接收参数值,但并不能改变这些参数的值。如果要改变参数的值,则要用到引用类型,因为引用数据类型传递给方法的是数据在内存中的地址,方法对数据的操作可以改变数据的值。成员方法(值参传递)参数的值参传递,例4.1publicclassPassTest{floatptValue;publicstaticvoidmain(Stringargs[]){intval;PassTestpt=newPassTest();val=11;System.out.println(“OriginalIntVal
17、ueis:”+val);pt.changedInt(val);System.out.println(“IntValueafterChangeis:”+val);pt.ptValue=101f;System.out.println(“OriginalptValueis:”+pt.ptValue);pt.ChangeObjValue(pt);System.out.println(“ptValueafterChangeis:”+pt.ptValue);}publicvoidchangeInt(intvalue){value=55;
18、}publicvoidchangeObjValue(PassTestref){ref.ptValue=99f;}}运行结果c:>javaPassTestOriginalIntValueis:11IntValueafterChangeis:11OriginalptValueis:101.0ptValueafterChangeis:99.0方法体方法体包括局部变量的声明以及所有合法的Java指令。局部变量的作用域在该方法内部。方法返回时,局部变量也不存在了。若局部变量与类的成员变量同名,则类的成员变量被隐藏。例4.2class
19、Variable{intx=0,y=0,z=0;//类的成员变量voidinit(intx,inty){this.x=x;this.y=y;intz=5;//局部变量System.out.println(“**ininit**”);System.out.println(“x=”+x+“y=