java中static的用法(一)静态成员变量
来源:互联网 发布:c 编程实例视频教程 编辑:程序博客网 时间:2024/05/02 02:57
static可以修饰成员变量、方法、游离块、内部类。
static修饰的成员变量:static修饰的成员变量也叫类变量或全局变量,在类被加载时static修饰的成员变量被初始化,与类关联,只要类存在,static变量就存在。一个static变量单独划分一块存储空间,不与具体的对象绑定在一起,该存储空间被类的各个对象所共享。也就是说当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例对象共用同一个static变量。static修饰的成员变量能在创建任何实例对象之前被访问,而不必引用任何对象,也就是说不管创建多少对象,static修饰的变量只占有一块内存。
static修饰的成员变量的引用:
可以通过实例对象名和类名进行引用,在同一各类中可以直接调用,而不需要对象名和类名。
看下面实例:
package com.baiye.test;
public class StaticTest {
static int a=9;
static String str="quan";
public StaticTest(){
System.out.println("static变量在类装载的时候就初始化(在实例化对象之前):a="+a);
//a=4;
System.out.println(a);
System.out.println(str);
}
static void staticMethod(){
str="baiye";
//return str;
System.out.println("在静态方法引用静态变量:str="+str);
}
void generalMethod(){
a=6;
System.out.println("在非静态方法中调用静态变量:a="+a);
}
public static void main(String[] args){
StaticTest st1=new StaticTest();
StaticTest st2=new StaticTest();
StaticTest st3=new StaticTest();
st1.a=5;
System.out.println("st1.a="+st1.a+" st2.a="+st2.a+" st3.a="+st3.a);
staticMethod();
System.out.println("st1.str="+st1.str+" st2.str="+st2.str+" st3.str="+st3.str);
StaticTest st4=new StaticTest();
st1.generalMethod();
System.out.println("st1.a="+st1.a+" st2.a="+st2.a+" st3.a="+st3.a);
}
}
输出结果:
static变量在类装载的时候就初始化(在实例化对象之前):a=9
9
quan
static变量在类装载的时候就初始化(在实例化对象之前):a=9
9
quan
static变量在类装载的时候就初始化(在实例化对象之前):a=9
9
quan
st1.a=5 st2.a=5 st3.a=5
在静态方法引用静态变量:str=baiye
st1.str=baiye st2.str=baiye st3.str=baiye
static变量在类装载的时候就初始化(在实例化对象之前):a=5
5
baiye
在非静态方法中调用静态变量:a=6
st1.a=6 st2.a=6 st3.a=6
在这个结果中我们可以看出不管实例多少个对象static修饰的成员变量只占有一块
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1608125
- java中static的用法(一)静态成员变量
- java中static的用法(一)静态成员变量
- PHP中静态成员变量的用法
- Java中static成员变量的生命周期
- static(静态)变量的作用、初始化特点以及类中静态数据成员的特点
- 【JAVA】static 修饰的静态成员变量,静态成员函数及静态代码块
- Java中static成员的用法
- Java中static成员的用法
- JAVA中静态成员变量的使用
- static 静态成员变量 静态成员函数 类中使用
- static静态成员变量
- static 静态成员变量
- 静态成员变量static
- java中成员变量、局部变量、静态变量的区别
- static 声明的静态成员变量和静态成员函数
- java中如何理解多个对象共享同一个静态成员变量(多个实例的static变量会共享同一块内存区域)
- Java中静态成员变量
- java中static的用法(二)静态方法
- WEB进度条
- ant中文教程(2)
- SQL2005在建立与服务器连接时出错
- Grub轻松解决单硬盘3OS+n个Linux多系统启动
- 后装机-计划系统安装提示
- java中static的用法(一)静态成员变量
- ant中文教程(3)
- 精妙的SQL语句
- 开源环境下的下企业信息化构建框架及步骤(转)
- OpenCv 安装 配置 VC6.0---转载
- ant中文教程(4)
- 关于VC命令行编译,待解决问题
- asp.net千奇百怪的日历
- 网址收藏:在Oracle数据库上构建.NET应用程序