文档介绍:第六章 Java语言中的面向对象特征
第六章 Java语言中的面向对象特征
类
对象
包
面向对象特征
抽象类和接口
类
类的声明
成员变量
成员方法
方法重载
构造方法
finalize()方法
类
从程序设计的角度看,类是面向对象程序中最基本的程序单元。类实质上定义的是一种数据类型。类中包含一组变量和一组方法(函数),利用它可以创建对象。
类是对象的模板(template),对象是类的一个实例(instance)。
类
变量…
方法…
实例化
对象
类的声明
格式:[属性] class <类名> [继承说明] [接口说明]
{
[类体…]
}
类的属性:[ public ] [ abstract | final ]
继承说明: extends <父类名>
接口说明: implements <接口名>
类体:[ 成员变量] [ 成员方法]
成员变量
格式:[修饰符] 变量类型变量名称[=初值];
变量类型:简单类型、类、接口、数组
修饰符: [ public | protected | private ] [ static ] [ final ] [ transient ] [ volatile ]
说明:
◆访问控制修饰符:public protected private
◆非访问控制修饰符
▲static:类变量(或称静态变量),否则为实例变量
▲ final:常量
▲transient:暂时性变量(和序列化有关)
▲ volatile:共享变量(和线程有关)
类
成员方法
:
[修饰符] 返回类型方法名([参数列表])[例外抛出声明]
{
[方法体…]
}
说明:
返回类型:简单类型、类、接口、数组(必须写出)
修饰符:[ public | protected | private ] [ static ] [final | abstract ] [ native ] [ synchronized ]
参数列表:(任意)类型名称[ ,类型名称…]
例外抛出声明:throws 例外类型
方法体:局部变量定义以及Java语句
类
方法的重载(overload)
重载构成的条件:方法的名称相同,但参数类型或参数个数不同,才能构成方法的重载。
注意:方法类型不参与匹配。通常只有功能相似的方法重载才有价值
类
方法的重载
class MethodOverloading {
void receive(int i){
(“received int data:”+ i);
}
void receive(String s){
(“received string data:”+ s);
}
void receive(int i, int j){
(“received two int datas:”+ i + ”“+ j);
}
}
class MethodOverloadingTest {
public static void main(String args[ ]){
MethodOverloading mo=new MethodOverloading();
(1);
(“1”);
(1,2);
}
}
结果(编译、执行):
received int data:1
received string data:1
received two int datas:1 2
类
方法重载
注意事项:
只有返回类型不同,不能实现重载(编译出错)
如:
void receive( int i ){
…
}
int receive( int i ){
…
return(1);
}
如果调用不存在的方法,编译出错
如:receive()
类