如果我有一个类Car,它的getter是这样的。
public int getDirection(){
return this.direction;
}
和一个扩展了car的Subclass
public class Ecar extends Car{
}
如果我像下面的例子那样初始化值的方向,是否会有不同?
1)
int direction;
public Ecar(){
this.direction = getDirection();
}
2)
public Ecar(){...}
int direction = getDirection();
3)
int direction = super.getDirection();
4)
int direction = this.getDirection();
所有的方案都给出相同的结果。
我已经使用了一个样本值为10的方向。
public class Car {
int direction=10;
public int getDirection(){
return this.direction;
}
public static void main(String[] args) {
Ecar e = new Ecar();
e.print();
}
}
class Ecar extends Car{
// Case 1
// int direction;
// public Ecar(){
// this.direction = getDirection();
// }
// case 2
// int direction = this.getDirection();
// case3
// int direction = super.getDirection();
// case 4
// int direction = this.getDirection();
public void print(){
System.out.println(this.direction);
}
}