public
class
Dog{public
static
void
show(){}}
这里的show()就是一个静态方法,它有全局方法的特点。
静态方法的调用不需要对象,可以用类名直接调用,如:
Dog.show()
当然,使用对象也是可以调用它的,如:new
Dog().show()
首先静态方法是用static来修饰的静态方法就是可以不通过生成类的实例直接来调用的
举个简单的例子:
class
A
{
public
static
void
a()
{
System.out.println("A被调用")
}
public
void
b()
{
System.out.println("B被调用")
}
}
假设你要调用方法a和方法b
如果调用方法a可以直接A.a()就可以了
不需要先
A
aa
=
new
A()aa.a()
但是调用b则必须A
aa
=
new
A()aa.b()
还有在继承里面要注意:
如果B继承自A
而且B中和A中都包含相同的函数
如果是实例方法则是被B覆盖掉的
如果是静态方法则是被B隐藏掉的
这一点
在上溯机制中可能遇到
最后还有一点静态方法调用的方法一定也要是静态的