博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
浅谈java中的static关键字
阅读量:5824 次
发布时间:2019-06-18

本文共 914 字,大约阅读时间需要 3 分钟。

hot3.png

    简述:在java中我们经常使用static关键字,该关键字就相当于是全局变量(静态变量或者是类变量)。

           (1)当在类中的方法或者是变量前加上static时,那么这个方法或者变量只有‘一份’,在此后的类的各种对象中也是共用一份这个static所修饰的方法或者是变量(直接通过类名访问),相比于父类中其他的非static变量或者是方法,当其对象产生时,对象中会自己备份一份非static变量或者是方法(被所有的类实例共享)。所以从这个角度看,static实际上可以节约内存空间,但是会一直占用内存空间,直到程序退出内存为止。

          (2)静态方法中不能调用非静态方法,非静态方法中既可以调用静态方法或变量也可以调用非静态方法或者是变量。

          (3)用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块(用处非常大哦)。

          (4)所以一般在需要实现以下两个功能时使用静态变量: 在对象之间共享值时;方便访问变量时。

代码示例:

public class Teststatic { int a; double b; static int c; static double d; public static void test() {  // b=2;//错误写法:因为静态方法不能调用非静态变量  c = 3;// 静态方法当然可以调用静态变量咯  System.out.println("引用静态变量成功!" + "c" + "=" + c); } public static void main(String[] args) {  // TODO Auto-generated method stub  Teststatic.d = 5.6;//直接通过类来调用静态变量  System.out.println(Teststatic.d);  Teststatic.test();// 说明静态方法或变量直接属于类属性,可以直接调用而不需要通过对象调用。 }}

附上static的内存分析图:

003012_MTRR_2298764.jpg

   

转载于:https://my.oschina.net/kaixuan1995/blog/364909

你可能感兴趣的文章
onchange()事件的应用
查看>>
Windows 下最佳的 C++ 开发的 IDE 是什么?
查看>>
软件工程师成长为架构师必备的十项技能
查看>>
python 异常
查看>>
百度账号注销
查看>>
mysql-This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决
查看>>
BIEE Demo(RPD创建 + 分析 +仪表盘 )
查看>>
Cocos2dx 3.0开发环境的搭建--Eclipse建立在Android工程
查看>>
基本概念复习
查看>>
重构第10天:提取方法(Extract Method)
查看>>
Android Fragment使用(四) Toolbar使用及Fragment中的Toolbar处理
查看>>
解决pycharm在ubuntu下搜狗输入法一直固定在左下角的问题
查看>>
多线程day01
查看>>
react-native 模仿原生 实现下拉刷新/上拉加载更多(RefreshListView)
查看>>
MySQL出现Access denied for user ‘root’@’localhost’ (using password:YES)
查看>>
通过Roslyn构建自己的C#脚本(更新版)(转)
查看>>
红黑树
查看>>
UIImagePickerController拍照与摄像
查看>>
python调用windows api
查看>>
第四章 mybatis批量insert
查看>>