第4讲类对象和接口

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
class 三角形 { float sideA,sideB,sideC,lengthSum;
void setSide(float sideA,float sideB,float sideC) { this.sideA=sideA;
this.sideB=sideB; this.sideC=sideC; } } this.sideA,this.sideB,this.sideC就分别表示成 员变量sideA,sideB,sideC
Java语言是面向对象语言,它的源程序是由若干个类组 成,源文件是扩展名为.java的文本文件
2
4.2 类
类是组成Java程序的基本要素。
类封装了一类对象的状态和方法。
封装的成员变量用来表示对象的状态;而 成员函数表示对象的方法。
类的实现包括两部分:类声明和类体。
class 梯形
{
float 上底,下底,高,laderArea; //变量定义
9
class Area { float getArea(float r)
{ return 3.14f*r*r; } double getArea(float x,int y) { return x*y; } float getArea(int x,float y) { return x*y; } double getArea(float x,float y,float z) { return (x*x+y*y+z*z)*2.0; } }
laderArea=(上底+下底)*高/2.0f;
return laderArea;
} 5
}
class 梯形
{
float 上底,下底,高,laderArea; //变量定义部分
int a;
float 计算面积()
//方法定义
{ int a;
laderArea=(上底+下底)*高/2.0f;
return laderArea;
第4章 类、对象和接口
4.1 编程语言的几个发展阶段 4.2 类 4.3 对象 4.4 static 关键字 4.5 this 关键字 4.6 包 4.7 访问权限 4.8 类的继承 4.9 对象的上转型对象 4.10 多态性
4.11 abstract 类和abstract方法 4.12 super关键字 4.13 接口 4.14 内部类 4.15 匿名类 4.16 异常类 4.18 基本类型的类包装
12
构造方法
构造方法是一种特殊方法,它的名字必须 与它所在的类的名字完全相同,而且没有 类型,构造方法也可以重载。
13
class 梯形
{ float 上底,下底,高;
梯形()
{ 上底=60;
下底=100;
高=20;
}
梯形(float x,int y,float h)
{ 上底=x;
下底=y;
高=h;
1
4.1 编程语言的几个发展阶段
机器语言(如汇编语言) 计算机处理信息的早期语言是所谓的机器语言 指令都是由0,1组成的序列,称这样的序列为一条机器指令。
过程语言 语言把代码组成叫做过程或函数的块。每个块的目标是完 成某个任务 例如,一个C的源程序就是由若干个书写形式互相独立的函 数组成。
面向对象编程 面向对象编程主要体现下列三个特性: 1.封装性 2.继承 3.多态 4、重载
float 计算面积()
//方法定义
{ int a;
laderArea=(上底+下底)*高/2.0f;
return laderArea;
} 3
}
1.类声明
class People {… }
“class People”叫做类声明;“People” 是 类名。习惯上类名的第一个字母大写,但 这不是必须的。
10
方法:类方法和实例方法
类中的方法分为:实例方法和类方法. 实例方法:方法声明时,方法类型前面不
加关键字static 加关键字static的是类方法。 构造方法不能用static修饰构造方法。
11
类方法和实例方法
加上static直接用类名来调用,所以成为类 方法;
而没有static关键字的方法必须用对象实例 来调用,成为实例方法。
8
4.方法
方法的定义包括两部分:方法声明和方法体。 方法参数在整个方法内有效; 方法内定义的局部变量从它定义的位置之后开始
有效。 ---如果局部变量的定义是在一个复合语句中,那么
该局部变量的有效范围是该复合语句,即仅在该 复合语句中有效,如果局部变量的定义是在一个 循环语句中,那么该局部变量的有效范围是该循 环语句,即仅在该循环语句中有效 . 和C语言中写一个函数类似
}
}
14
缺省的构造方法
当没有构造函数时,系统提供缺省的构造 方法
15
如果调用缺省的构造方法
成员变量的初始化值为缺省值 数值型 是0 Boolean型 false Char “\0” 对象 NULL
16
构造方法
允许有两个不同的构造方法,调用哪一个, 由主调函数的参数来决定。
-----方法(函数)重载
}
void 修改高(float h)
//方法定义
{
高=h;
}
}
6
3.成员变量和局部变量
类的成员变量。 局部变量:在方法体中定义的变量和方法的参数。 作用域对比:成员变量在整个类内都有效,局部变量只在
定义它的方法内有效。 成员变量又分为:
实例成员变量(简称实例变量)和 类变量(也称静态变量) . 成员变量的类型前面加上关 键字static—对所有的此类实例化的对象共享同一内存 如果局部变量的名字与成员变量的名字相同,则成员变量 被隐藏,即这个成员变量在这个方法内暂时失效 . 这时如果想在该方法内使用成员变量,必须使用关键 字this。
4
2.类体
类声明之后的一对大括号“{”,“}”以及它 们之间的内容称做类体。
类体的内容由两部分构成:变量的定义, 用来刻画属性;另一部分是方法的定义, 用来刻画功能。
class 梯形
பைடு நூலகம்
{
float 上底,下底,高,laderArea; //变量定义
float 计算面积()
//方法定义
{ int a;
17
方法重载
方法重载的意思是: 一个类中的方法具有相同的名字,但参数
不同,即或者是参数的个数不同,或者是 参数的类型不同。
相关文档
最新文档