Java中静态方法与非静态方法的区别

静态方法的结构:

其中static关键字即表示静态的。声明静态方法的语法如下:
<访问修饰符>static返回类型 方法名(参数列表)
{//方法体}
静态方法与非静态方法之间的区别:
(1)静态方法中只能调用静态成员或者静态方法,不能直接调用非静态成员或方法,如果需要调用,则需要先实例化。
Java中静态方法与非静态方法的区别
(2)静态方法是在类中使用staitc修饰的方法,在类定义的时候已经被装载和分配。而非静态方法是不加static关键字的方法,在类定义时没有占用内存,非静态方法只有在类被实例化成对象时,对象调用该方法才被分配内存;
(3)《Java编程思想》P86页有这样一段话:

  “static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”

  这段话简而言之就是:静态方法可以方便在没有创建对象的情况下来进行调用(方法/变量);