java小白又来问问题啦。关于方法调用

直接上代码啦:问题也在代码的解释里啦:麻烦各位大神啊

public class Method{
public static void main(String[]args){//main方法可以调用main方法所在的类中的定义的其他方法,也可以调用别的类中的方法。(书上这么写的)
System.out.print("The grade is:");
printGrade(78.5);//调用方法时要注意参数的传递,在 这里78.5就是实参(自己的笔记)
System.out.print("The grade is:");
printGrade(59.5);
}

public static void printGrade(double score){ 
    //返回值类型为void的方法,调用时必须是一条语句。那为什么在这个代码里不是用一个语句调用,而是直接方法名调用?(这个就是我的问题啦)


    if(score>=90){
        System.out.println("A");
    }else if(score>=80){
        System.out.println("B");
    }else if(score>=70){
        System.out.println("C");
    }else{
        System.out.println("F");
    }
}

}

 如果是
class A
{
public static void printGrade(double score){ 
    //返回值类型为void的方法,调用时必须是一条语句。那为什么在这个代码里不是用一个语句调用,而是直接方法名调用?(这个就是我的问题啦)


    if(score>=90){
        System.out.println("A");
    }else if(score>=80){
        System.out.println("B");
    }else if(score>=70){
        System.out.println("C");
    }else{
        System.out.println("F");
    }
}
}
在你的main里面调用就不能是printGrade(78.5);必须是A.printGrade(78.5);
再修改下,去掉static
那么就不能A.printGrade(78.5);
必须是new A().printGrade(78.5);

其实是Method.printGrade(78.5);
因为是一个类中的,类名可以省略,所以就是printGrade(78.5);

@caozhy 可以不可以这么理解?如下:**我要用某个东西,如果这个东西刚好也在我所在的房间,那我直接拿就是了。如果不在我所在的房间,那我就得去存放这个东西的那个房间去拿。再如果这个东西是活动的,我不能直接就拿到,那我还需要new一个工具来拿这个我想要的东西 。