灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:2263回复:0

[系统教程]JAVA基础教程(3)

楼主#
更多 发布于:2012-09-08 08:09


第三节课
运算符 表达式和语句
因为大家肯定都学过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; 
} 
}



喜欢0 评分0
游客

返回顶部