?
public class TestSalary
{
public static void main(String[] args)throws IOException
{
System.out.println("Please Enter a number");
InputStreamReader reader=new InputStreamReader(System.in);
BufferedReader input=new BufferedReader(reader);
String text=input.readLine();
Integer x=new Integer(text);
int s=x.intValue();
System.out.println("The result is "+raiseSalary(s));
}
public int raiseSalary(int s) //这里不可以没有static
{
s*=3;
return s;
}
}
我的理解是:System.out.println("The result is "+raiseSalary(s));
里面的raiseSalary(s)没有用对象来调用?
1.如果你的raiseSalary()方法不定义成static的话,你就必须实例话TestSalary类,再通过实例来调用raiseSalary()。
如果你定义成static的话就没有这个问题了。
2.在static方法里面需要直接调用的方法或者变量等都应该定义为static.
如果不想定义为static,你应该new TestSalary().raiseSalary(s)