首页 > 其他 > 详细

静态成员变量和非静态成员变量的区别

时间:2020-10-05 22:18:42      阅读:44      评论:0      收藏:0      [点我收藏+]

  静态成员优先于对象在内存中出现;

  静态成员属于类,非静态成员属于对象。

 

  非静态成员只能被对象调用;静态成员可以被类名调用,也能被对象调用,推荐使用类名调用。(非静态方法只能用对象去调,静态方法可以对象调用。用同一个类中可以省略不写类名直接调用,不同类就需要类名.调用了)

静态调用:

  不能在静态的方法中引用非静态的变量。(非静态变量,跟随对象在堆内存;静态成员变量跟随类,在方法区;静态要早于非静态)静态方法中不能使用this和super。

程序运行class类先进入方法区;static静态修饰的会先进入方法区中的静态区,并用类名标记,防止重复(所以静态的会跟着类走,即静态成员多了一种调用方式,类名.调用;推荐使用类名调用);然后new对象进入方法栈,set方法为成员变量赋值进入堆内存。

静态成员变量和非静态成员变量的区别

原文:https://www.cnblogs.com/shixinlong/p/13771176.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!