静态成员变量与普通成员变量
内存分配
static静态是指当类被加载的时候,内存就静静地呆在这里并且已经存在了,而普通的成员变量只有在类实例化的时候才分配内存。调用方法
成员变量需要对象才能调用;静态成员变量可以直接通过类调用,也可以直接调用
PS:我有一个小疑问,为什么可以直接调用。我看一些参考书只说可以通过类调用?
公开课演示{
静态整数i=10;
公共静态无效主(字符串[] args){
int k=i;//直接调用
int j=demo.i;//通过类调用
System.out.println("直接调用k:"+k);
System.out.println("通过类调用j:"+j);
}
}生命周期
静态成员变量从类加载到类卸载期间一直存在;普通成员变量只有在类实例化时,即对象创建时才开始存在,直到对象结束,其生命结束。分享方式
静态成员变量由整个类共享。即使它们不是对象,也可以被调用并且内存不会改变。普通成员变量由每个对象单独享有。也就是说,如果你的对象有一个int i=1,我就把它交给类。创建一个新对象。它也有一个int i,但是不能等于1,可以等于5,也可以等于10,但是无论等于多少,都不会影响i的值前一个对象。静态成员变量则不是这种情况。
静态方法与普通方法
我们一直使用的主要方法是静态方法
在此我只讨论一下调用的问题静态方法可以调用静态成员变量,调用普通成员变量时需要创建对象;非静态方法可以随意调用静态成员变量或普通成员变量。静态方法和普通方法的调用特点同上。静态调用普通方法时,需要创建一个对象,而普通方法是可选的。 AA.png
2015年8月6日
如果你还想了解更多这方面的信息,记得收藏关注本站。
【Java静态成员变量与普通成员变量区别详解】相关文章:
用户评论
Java学习了这个关键的概念! 静态和非静态的区别总是容易搞混。
有10位网友表示赞同!
想明白了静态方法和实例方法的应用场景,太棒了!
有17位网友表示赞同!
之前一直没搞懂static变量的作用域,现在终于清晰了。
有5位网友表示赞同!
学习Java代码一定要把握好这些基本概念,才能写出更合理的程序!
有16位网友表示赞同!
这篇博客写的很详细,让我更容易理解java中的静态成员变量和方法。
有8位网友表示赞同!
要学好Java,静态成员的用法确实很重要!
有14位网友表示赞同!
对于刚入门Java的小白来说,这篇文章讲解得很容易理解。
有18位网友表示赞同!
静止不动的变量? 静态成员变量听起来就很神秘!
有16位网友表示赞同!
终于知道静态方法和普通方法之间区别了,感谢这段解释!
有5位网友表示赞同!
学习Java真的需要反复练习,才能把这些概念真正掌握。
有7位网友表示赞同!
代码中什么时候用哪个类型的方法很重要!
有12位网友表示赞同!
Java的这部分内容确实很多细节,需要慢慢消化。
有7位网友表示赞同!
希望以后遇到类似的问题能第一时间想起博客里的解释!
有14位网友表示赞同!
分享给正在学习Java的朋友们参考一下。
有16位网友表示赞同!
静态成员相关的概念真是太关键了!
有6位网友表示赞同!
这种深入浅出的讲解方式真的很棒!
有12位网友表示赞同!
看来静态成员确实在面向对象的编程中很常用!
有19位网友表示赞同!
点赞,这篇文章解决了我的难题!
有17位网友表示赞同!
学习Java是一段奇妙的旅程!
有8位网友表示赞同!