メソッドレベル変数をクラスレベル変数として設定したい。Javaでメソッドレベル変数をクラスレベル変数として設定することは可能ですか?メソッドレベル変数値をクラスレベル変数として取得したい方法はありますか?
class A {
void m(String s){
String s1 = s;
}
}
私はあなたが欲しいと思います(基本的な例として)
class A {
String s1;
void m(String s) {
s1=s;
}
}
これがセッター関数で行うことであることに注意してください。
public class A {
private String s1;
//Since the attribute is private, you need a function to access to the value
public String getS1() {
return this.s1;
}
public void setS1(String s) {
this.s1 = s;
}
}
また、クラスコンストラクターで動的な値を渡すこともできます。
public class A {
private String s1;
public A(String s1) {
this.s1 = s1;
}
//Since the attribute is private, you need a function to access to the value
public String getS1() {
return this.s1;
}
public void setS1(String s) {
this.s1 = s;
}
}
そのメソッドでインスタンス変数を設定することについて質問する場合は、次のようにします。
String s;//instance var
void m(String s)//s is dynamic value
{
this.s=s;
}
このコードを試してください
class A {
String s;
void m(String s){
this.s=s; //this keyword is used to ambiguity between local variable and class level variable
}
}