类的独立
一、类的独立
为了便于创建和使用类,应该将各个类实现为相对独立的源文件。
通过创建 “car” 类来理解, car类中将下述数据设置为字段:
如果只考虑字段, 汽车类Car可以像下面这样进行声明:
class Car {
private String name; // 名称
private int width; // 宽度
private int height; // 高度
private int length; // 长度
private double x; // 当前位置的X坐标
private double y; // 当前位置的Y坐标
private double fuel; // 剩余燃料
在类中,除了字段之外还需要构造函数和方法,其概要如下所示:
1)构造函数
将当前位置的坐标设为原点(0, 0) ,坐标之外的字段都设置为参数中接收到的值;
2)方法
创建下述方法:
• 确认当前位过的x坐标(getX)
• 确认当前位置的y坐标(getY)
• 确认剩余燃料(getFuel)
• 显示车的型号(putSpec)
• 开车(move)
3)this引用
创建构造函数,方针为将坐标设置为原点(0.0), 将坐标之外的字段都设置为传递给参数的值,其明如下所示
Car(String name, int width, int height, int length, double fuel) {
name = name; width = width; height = height;
length = length; fuel = fuel;
x = y = 0.0;
}
然而上述代码是不对的,因为在具有与类的字段同名的形参或局部变量的构造函数和方法中,字段的名称会隐藏;
也就是说,木构造函数中的height并不是汽车类中的字段height, 而是形参height;因此执行了毫无意义的操作,即“将形参的值赋给了本身”;在这种情况下,可以使用this,this是自身实例的引用。在构造函数和方法中,对启动它们自身的实例的引用就是this。
如果使用this引用,就可以通过this.abc访问类中的字段abc;使用this改写后的构造函数如下所示:
Car(String name, int width, int height, int length, double fuel) {
this.name = name; this.width = width; this.height = height;
this.length = length; this.fuel = fuel;
x = y = 0.0;
}
this.height是类的字段,而单独的height则是形参,这样两者就可以区分开了,优点: