更新时间:2022-08-11 10:42:18 来源:动力节点 浏览719次
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实验班
0基础 0学费 15天面授
Java就业班
有基础 直达就业
Java夜校直播班
业余时间 高薪转行
Java在职加薪班
工作1~3年,加薪神器
Java架构师班
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习