美文网首页
类方法和实例方法

类方法和实例方法

作者: Arvesynden | 来源:发表于2019-10-02 22:57 被阅读0次

    类方法即静态方法,用static修饰;实例方法即非静态方法,没有static修饰。

    类方法

    1、在类方法中不能引用实例变量。

          实例变量即没有用static修饰的变量,实例变量的创建在类的对象创建时完成,所以在类方法中是不能引用实例变量的,因为这个时候实例变量还没有分配内存地址。

    2、类方法中不能调用实例方法。

           原因同上。 在类方法中可以通过创建实例对象调用类的实例方法。

    3、 在类方法中不能使用super和this关键字。

         因为super和this都指向父类和本类的对象,而在类方法中调用的时候,这些指代的对象有可能都还没有创建。

    4、类方法不能被重写。

    实例方法(对象方法)

    1、实例方法中可以引用实例变量和类变量

    2、实例方法中可以调用类方法

    3、实例方法中可以有this、super

    区别:

    1、类方法可以被该类的对象调用,也可以直接通过类名完成调用;实例方法只能被类创建的所有对象调用。

            当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址。当该类创建对象后,类中的实例方法才分配入口地址, 从而实例方法可以被类创建的任何对象调用执行。

           当我们创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址。也就是说,方法的入口地址被所有的对象共享,当所有的对象都不存在时,方法的入口地址才被取消。

    相关文章

      网友评论

          本文标题:类方法和实例方法

          本文链接:https://www.haomeiwen.com/subject/ahwrpctx.html