unicorn的java课堂笔记(三)

作者在 2006-10-07 02:55:00 发布以下内容

第三节课

运算符 表达式和语句
因为大家肯定都学过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,例:

程序代码:

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.构造方法
构在方法是一种特殊方法,它的名字必须与类名完全相同,而且没有类型,构造方法也可以重载的.
用法:一般用类创建对象时,使用构在方法,后面会有详细说明.

程序代码:


class 梯形
{float 上底,下底,高;
梯形()
{上底=60;
下底=100;
高=20}

梯形(float x,float y,float z)
{上底=x;
下底=y;
高=z;
}
}


2.对象
类是创建对象的模板.当使用一个类创建了一个对象时,也就是说给出了这个类的一个实例.
(1)对象的创建:包括对象的声明和为对象分配内存空间
声明格式: 类的名字  对象的名字;

分配内存空间格式; 类的名字 对象的名字=

转帖&&连载 | 阅读 812 次
文章评论,共0条
游客请输入验证码