【数组对象 Arrays of Objects】
接上篇例子,我们现在想要在我们的程序中创建多个Car
一个两个还好,要是我们想要创建多个car,一次次分别实例化就十分繁杂且混乱,于是有了数组对象
使用数组来存储相同类型的对象有助于简化操作
前文我们说过,可以把类当作一个存储数值的属性————就像我们用int、double等一样,所以数组对象的使用和之前数组的使用是一样的
Car CarShouRoom [] = new Car [5]
for(int i = 0 ;i < 5 ; i++){
CarShouRoom [i] = new Car();
}
【构造函数 Constructors】
构造函数是一种特殊类型的方法,当将new关键字与对象一起使用时,将调用该方法
它们没有返回类型(甚至不是void),并且必须与类具有相同的名称
通常情况下,我们会拥有一个默认的构造函数(通常没有参数)以及至少一个具有1个或多个参数的其他构造函数
我们回顾一下Car:
这个就是默认的构造函数:
public Car()
{
numberOfDoors = 4;
colour = "Black";
motorType = ‘I‘;
lastCarReg++; //increase the value
carReg = lastCarReg; // assign that value to the reg of this Car instance
}
这个是含有参数的构造方法
public Car(int numberOfDoors, String colour, char motorType)
{
//关于this,我们之后再去细细讨论
this.numberOfDoors = numberOfDoors;
this.colour = colour;
this.motorType = motorType;
lastCarReg++;
carReg = lastCarReg;
}
【存取器和变异器方法 Accessor and Mutator Methods 】
访问器Accessor方法 用于返回(获取)属性值,它们也被称为getter方法
变异器Mutator方法用于更改(设置)属性值,它们也被称为setter方法
Accessor和Mutator方法为用户提供了一种,可以精确地与class中的数据交互的方法
依旧以Car举例,下面这个方法就可以得到我们Car的颜色:
public String getColour() {
return colour;
}
注意,访问方法零输入参数,且具有返回类型。毕竟访问器就是用来获得对应数据的,肯定要有返回值的
由于该方法是public,任何类都可以调用它
下面看看一个变异器Mutator的例子,它会更改车的颜色:
public void setColour(String carColour) {
colour = carColour;
}
和Accessor相反,Mutator方法采用一个或多个参数,并且始终具有void返回类型。因为它的职责在于修改,需要接受修改值,但是不用返回值
二者实质上都是存在于Class里面的方法,通过它们的使用把二者分为了两个概念而已————实质上还是方法,没有什么特别的地方
Accessor和Mutator方法的命名约定:
公认的约定是方法名称的第一个单词的首字母是小写(并且将是get或set),而所有其他单词的首字母是大写
比如
对于Accessor:get<名字>(); 比如getCarReg()
对于Mutator :set<名字>(); 比如setMotorType()
【Java】6.1 类和对象 Class and Object 02
原文:https://www.cnblogs.com/RetenQ/p/14710947.html