栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java静态方法和实例方法之间的区别

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java静态方法和实例方法之间的区别

Java的基本范例是编写类,并实例化这些类。实例化的对象(类的实例)具有与它们相关联的属性(成员变量),这些属性会影响它们的行为;当实例执行其方法时,它将引用这些变量。

但是,所有特定类型的对象可能都具有完全不依赖于成员变量的行为。这些方法最好设为静态。由于是静态的,因此不需要类的实例即可运行该方法。

你可以执行以下操作来执行静态方法:

MyClass.staticMethod();//Simply refers to the class's static pre

但是要执行非静态方法,你必须执行以下操作:

MyClass obj = new MyClass();//Create an instanceobj.nonstaticMethod();//Refer to the instance's class's pre

在更深层次上,当编译器将一个类放在一起时,它包含一些指向方法的指针。当执行这些方法时,它将跟随指针并在远端执行代码。如果实例化了一个类,则创建的对象将包含一个指向“虚拟方法表”的指针,该指针指向继承层次结构中该特定类要调用的方法。但是,如果该方法是静态的,则不需要“虚拟方法表”:对该方法的所有调用都将进入内存中的确切位置,以执行完全相同的代码。因此,在高性能系统中,如果你不依赖实例变量,则最好使用静态方法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/426098.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号