JAVA基础教程(3)
3029 点击·0 回帖
![]() | ![]() | |
![]() | 第三节课 运算符 表达式和语句 因为大家肯定都学过C或C++的,所以这部分的内容自己可以回忆,都是一样的,略. 类和对象 1.类:类是组成java程序的基本要素.类封装了一类对象的状态和方法.类是用来定义对象的模板. 类的实现包括两个部分:类声明和类体.基本格式为: 复制代码 class 类名 {类体的内容} 其中class是关键字,用来类定义."class 类名"是类的声明部分,类名必须是合法的java标识符,{}之间的内容是类体,由变量的定义和方法(函数)的定义组成. 所谓变量定义,如int x或 intx=10; 但不能出现除声明以外的变量操作语句,如int x;x=10;//是错误的 (1)变量:成员变量和局部变量 a.成员变量在整个类内都有效,局部变量只在定义它的方体体内有效.例: 复制代码 class Sun { int distance; int find() {int a=12; distance=a;//合法,distance是成员变量在整个类内有效 return distance; } void g() {inty; y=a;//非法,a是局部变量,不在find()中就会失效 } } 注意:成员变量在它在类中书写的先后位置无关.但不提倡把成员变量的定义分散的写在方法之间或类体的后面. b.成员变量又分为实例成员变量(实例变量)和类成员变量(类变量) 类变量是指变量类型前加关键字 static 的成员变量,也称为静态变量.例: 复制代码 class Sun {float x; //实例变量 static int y; //类变量 } c.当局部变量与成员变量名字相同时,则成员变量被隐藏,即这个成员变量在这个方法内暂时失效,例: 复制代码 class Tom {int x=90,y; void f() {int x=3; y=x; //y得到的值应是3,因为成员变量x=90与y在此方法体里失效 } } 但如果想在方法体内使用成员变量则通过关键字 this 来实现,例: class 三角形 {float sideA,sideB,sideC,lengthSum; void setside(float sideA,float sideB,float sideC) {this.sideA=sideA; //this.sideA表示成员变量sideA this.sideB=sideB; this.sideC=sideC; } } (2)方法 方法即是函数,包括声明和定义,在类体中是函数的定义,与C或C++中函数的声明或定义格式是一样的. a.类方法和实例方法 实例方法即在方法返回值类型前加上关键字static,例: [url=http://www.atcpu.com/bbs/javascript:]复制代码[/url] class A {int a; float max(float a,float b)//实例方法 {//...} static float min()//类方法 {//...} } [code] b.方法的重载 方法的重载定义为多个函数定义时函数名必须相同,参数的类型和个数必须不同.例: [code] class Area {float getArea(float r) {return 3.14*r*r;} double getArea(float x,int y) {return x*y;} float getArea(float x,float y) {return x+y;} double getArea(float x,float y,float z) {return x*y*z*0.2;} } 注意:在函数的重载中方法的返回值类型和参数的名字不参加比较. c.构造方法 构在方法是一种特殊方法,它的名字必须与类名完全相同,而且没有类型,构造方法也可以重载的. 用法:一般用类创建对象时,使用构在方法,后面会有详细说明. [url=http://www.atcpu.com/bbs/javascript:]复制代码[/url] class 梯形 {float 上底,下底,高; 梯形() {上底=60; 下底=100; 高=20} 梯形(float x,float y,float z) {上底=x; 下底=y; 高=z; } } | |
![]() | ![]() |