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

类方法和实例方法

作者: 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