とのフィールドを作成し、パラメータで初期化します。a
b
f()
たとえば、次のようにします。
public class CC{
private int a;
private int b;
private int d;
private int c;
public int f(int a,int b)
{
d=a;
c=b;
this.a = a;
this.b = b;
return a+b;
} //want to use a & b outside
public int q(int a, int b)
{
return a+b; //re-initial-is- will delete the previous parameter value;
}
public int w(){
int p=a+b; //error:cannot access or resolve a & b into variables
return p;
}
public int e(){
int u=d+c; //works but this is not the solution
return u;
}
public static void main(String args[]){
CC obj=new CC();
System.out.println(obj.f(3,4));
System.out.println(obj.q(8,9));
System.out.println(obj.w());
System.out.println(obj.e());
}
}
これにより、以下がコンソールに出力されます。
7
17
7
7
ただし、フィールドの使用法は、何をしようとしているのかによって異なります。
たとえば、aとbを 1 回 ( a + bの計算に) 使用した後、それらを新しい値でリセットし、古い値と新しい値の両方を使用できるようにする場合は、次のようにする必要があります。
package test;
public class CC {
private int a;
private int b;
private int d;
private int c;
public int f(int initialA, int initialB) {
this.a = initialA;
this.b = initialB;
return a+b;
} //want to use a & b outside
public int q(int resetA, int resetB) {
// Move values for a + b to other variables for re-use
this.c = a;
this.d = b;
this.a = resetA;
this.b = resetB;
return a+b; //re-initial-is- will delete the previous parameter value;
}
public int w() {
// Use the initial values
int p = c + d;
return p;
}
public int e() {
// Use the reset values
int u = a + b; //works but this is not the solution
return u;
}
public static void main(String args[]){
CC obj = new CC();
System.out.println(obj.f(3,4));
System.out.println(obj.q(8,9));
System.out.println(obj.w());
System.out.println(obj.e());
}
}
これにより、以下がコンソールに出力されます。
7
17
7
17