各位高人,本人有个简单的static问题,帮忙解决一下,谢谢!
public class test{
System.out.println(MyClass.getMyClassResult(new MyClass(2)));
}class MyClass{
int k;
public MyClass(int k){
this.k=k
}
public method(){ //doing something } public static double getMyClassResult(MyClass mc){
mc.method(); //改为 method();?
//doing something, get a double d.
return d;
}
}在MyClass类中,getMyClassResult方法是静态方法,这个方法可以调用非静态方法method()吗?怎样改这个程序为好?要求getMyClassResult方法是静态方法,并调用method().
public class test{
System.out.println(MyClass.getMyClassResult(new MyClass(2)));
}class MyClass{
int k;
public MyClass(int k){
this.k=k
}
public method(){ //doing something } public static double getMyClassResult(MyClass mc){
mc.method(); //改为 method();?
//doing something, get a double d.
return d;
}
}在MyClass类中,getMyClassResult方法是静态方法,这个方法可以调用非静态方法method()吗?怎样改这个程序为好?要求getMyClassResult方法是静态方法,并调用method().
mc.method 能使用是因为mc是MyClass实例的一个引用,也就是通过对象来引用的对于静态方法getMyClassResult()
mc.getMyClassResult()和MyClass.getMyClassResult() 都成立但只能是mc.method().