Javaコードを実行したところ、私はそれを得ることができませんでした。 はなぜdiameter
内部変数の "this"パラメータを持たないJavaメソッド
class Shape {
public double area()
{
return 0;
}
}
class Circle extends Shape {
Circle (double diameter) {
this.diameter = diameter;
}
private static final double PI = Math.PI;
private double diameter;
public double area() {
double radius = diameter/2.0; <-------- LOOK HERE
return PI * radius * radius;
}
}
public class Main {
public static void main(String[] args) {
Shape s1 = new Circle (2.5);
System.out.println (s1.area());
}
}
の前でthis
をputingせずに作業以下のコードは、コードがあなたのコンストラクタCircle(double diameter)
で
同じクラスのメンバ変数にアクセスするために 'this'は必要ありません。メンバ変数と関数引数を区別するためにメンバ変数を参照するのにほとんど使用されます。 – Rambler
私はs1 = newを使っています... s2 = newを直径の異なる値で使うとどうなりますか?どのオブジェクトに 'diameter'が属しているかをどうやって知っていますか? – 123onetwothree
シンプルなスタイルガイド:オブジェクト属性を参照する場合、またはオブジェクトクラス内のオブジェクト自体を参照する場合は 'this'を使用してください。 – Blobonat