? | |
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) |