Java 方法是一组语句,它们组合在一起以执行操作。例如,当您调用 System.out.println() 方法时,系统实际上会执行几条语句,以便在控制台上显示一条消息。
静态方法也称为类方法,并且在类的对象中是通用的,并且也可以使用类名来访问此方法。
类的任何非静态方法都称为非静态方法或实例方法。
以下是静态和非静态方法之间的重要区别。
静止的 | 非静态 | ||
---|---|---|---|
1 | 使用权 | 静态方法只能访问静态成员,不能访问非静态成员。 | 非静态方法既可以访问静态成员,也可以访问非静态成员。 |
2 | 捆绑 | 静态方法使用编译时绑定或早期绑定。 | 非静态方法使用运行时绑定或动态绑定。 |
3 | 覆盖 | 静态方法不能被编译时绑定覆盖。 | 非静态方法可以被动态绑定覆盖。 |
4 | 内存分配 | 静态方法占用的空间更少,内存分配只发生一次。 | 非静态方法可能会占用更多空间。内存分配发生在调用方法时,并且在方法完全执行后释放内存。 |
5 | 关键词 | 使用 static 关键字声明静态方法。 | 普通方法不需要有任何特殊关键字。 |
JavaTester.java
public class JavaTester {
public static void main(String args[]) {
Tiger.roar();
Tiger tiger = new Tiger();
tiger.eat();
}
}
class Tiger {
public void eat(){
System.out.println("Tiger eats");
}
public static void roar(){
System.out.println("Tiger roars");
}
}
输出
Tiger roars
Tiger eats
通过上述介绍,相信大家对Java中静态方法和非静态方法的区别已经有所了解,大家如果想了解更多相关知识,可以关注一下极悦的Java极悦在线学习,里面的课程内容从入门到精通,细致全面,很适合没有基础的小伙伴学习,希望对大家能够有所帮助。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习