当前位置: 代码迷 >> Java相关 >> 对静态方法的思考!
  详细解决方案

对静态方法的思考!

热度:282   发布时间:2007-09-07 14:35:21.0
对静态方法的思考!

对静态方法的思考!

是用静态方法的情况(从书上看到的)

1 当一个方法不需要访问对象的状态,其所需的参数都是通过显式参数提供的(如 Math.pow)
2 当一个方法只需要访问类的静态域。

虽然书上是这样说的,但是我们学习者是要思考的。到底怎么去用静态方法。

下面是我调试的一个程序,调试通过了期望的结果也和我想的一样。但是我想了一下这个例子tripleSalary(Percent)是调用了个静态的方法

public static void tripleSalary(Employee x) {
x.raiseSalary(200);

} 这个定义的静态方法。我知道什么是静态方法,但是我们应该怎么去用呢? 用静态方法有什么好处呢?


public class ParamTest {
public static void main(String[] args) {

double Percent = 10;

System.out.println("之前的:Percent=" + Percent);

tripleSalary(Percent);

System.out.println("之后的:Percent=" + Percent);

Employee harry = new Employee("Harry",5000);

System.out.println("调用方法之前的salary=" + harry.getSalary());

tripleSalary(harry);

System.out.println("调用方法之后的salary=" + harry.getSalary());

}

public static void tripleSalary(double x) {
x = 3 * x;
System.out.println("调用方法后: x=" + x);
}

public static void tripleSalary(Employee x) {
x.raiseSalary(200);

}

}
class Employee {
private String name;

private double salary;

public Employee(String name,double salary) {
this.name = name;
this.salary = salary;
}

public String getName() {
return name;
}

public double getSalary() {
return salary;
}

public void raiseSalary(double byPercent) {
double raise = salary * byPercent / 100;
salary += raise;
}
}



搜索更多相关的解决方案: 静态  思考  

----------------解决方案--------------------------------------------------------

这个是java核心技术第一卷上讲的嘛,昨天刚看到,不错不错


----------------解决方案--------------------------------------------------------
楼上的也喜欢WAR3哦!
----------------解决方案--------------------------------------------------------
呵呵,是啊,WAR3爱好者!
----------------解决方案--------------------------------------------------------
  相关解决方案