私は新しいJava学習者で、静的メソッドで非静的データメンバーの値にアクセスしたいプログラムを作成していますが、ルールはこれを行うことはできないと言っていますが、オブジェクトを作成した後にアクセスできます私の質問はそのクラスのオブジェクトを作成すると、そのデータメンバーの古い値が消去されるのはなぜですか? 静的メソッドで非静的データ メンバーの古い値を使用するにはどうすればよいですか
import java.util.Scanner;
class emp
{
String name;
int rate;
static String c_name="TCS";
void setdata(String n,int s)
{
name=n;
rate=s;
}
static void employee_salary_cal(int t)
{
int day,rate1,Total;
day=t;
emp e2=new emp();
rate1=e2.rate;
Total=rate1*day;
System.out.println("Total salary " +Total);
}
void showData()
{
System.out.println("Employee name = " +name);
System.out.println("Employee pay rate per day = " +rate);
}
}
class emp_main
{
public static void main(String args[])
{
int da;
emp e1=new emp();
e1.setdata("alex",100);
System.out.println("Company name = " +emp.c_name);
e1.showData();
System.out.println("Enter Work days in months ");
Scanner sc=new Scanner(System.in);
da=sc.nextInt();
emp.employee_salary_cal(da);
}
}
プログラム出力:
Company name = TCS
Employee name = alex
Employee pay rate per day = 100
Enter Work days in months
25
Total salary 0