コンストラクターをテストすることだけを目的としたプログラムを作成しました。
コンストラクターCar()で、int hello = 5を宣言します。しかし、this()でそのコンストラクターを呼び出すと、まだhelloを使用できません(変数に解決できず、eclipseはhelloが使用されないと文句を言います)。this()を呼び出すと、Car()でコードが実行されるため、helloの範囲が拡張されると思いました。なにが問題ですか?
class Car {
public Car(){
int hello = 5;
}
public Car(int howmany){
this();
howmany+=hello;
}
}
this()を呼び出すと、Car()でコードが実行され、helloのスコープがCar(int howmany)コンストラクター内に拡張されると思いましたか?
私はJavaに慣れていないので、私が知らない初歩的なことがあるかもしれません。
helloはコンストラクター内で宣言されているため、コンストラクター内でのみスコープがあります。何をしようとしているのかわかりませんが、Carの属性としてhelloを宣言する必要があるかもしれません。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加