面向对象程序设计---OOP
一:几个重要名词解释:
1.类:构造对象的模板
2.创建类的实例:由类构造对象的过程
3.封装
实现封装的关键:不能让类中的方法直接访问其他类的实例域
4.实例域:对象中的数据 方法:操纵数据的过程
5.对象与对象变量的区别:
e.g:Date birthday = new Date(); //对象变量:birthday 对象:Date
Date deadline; //deadline为对象变量,不是对象,它可以引用Date类型的变量 参见书上p93页上的图
一个对象变量并没有实际包含一个对象,而是仅仅引用一个对象
6.隐式参数与显示参数
隐式参数:调用某个方法的对象,可用this表示
显示参数:方法中的参数
用this表示可以将实例域和局部变量区分开来
7.final实例域(final一个成员变量):该变量在构造器中赋值之后不能被改变
class A
{
private final String name;
A(String _name)
{
this.name = _name;
}
public void setName(String _name)
{
this.name= _name;//该行有问题,name是final的所以不能改变其值
}
}
8.静态域(静态成员变量):属于类,不属于任何独立的对象
静态常量(类常量):public static final double PI = 3.1415.....;
静态方法:静态方法不能操作对象,静态方法没有this参数(隐式参数)的方法
静态方法不能操作对象,所以不能在静态方法中访问实例域,只能访问自身类中的静态域
9.重载:多个方法有相同的名字,不同的参数
10.方法的签名:格式:方法名(参数类型) 返回类型不是方法签名的一部分
e.g:indexOf(int,int)
11.初始化块:只要类的对象被构造,这些块就会被执行
首先运行初始化块,然后运行构造器的主体部分
但通常将初始化块的代码放在构造器中