代码改变世界

静态修饰符

2016-10-26 13:00  backyyan  阅读(333)  评论(0编辑  收藏  举报

1:什么是静态变量:静态变量只能存一份,它属于类,不会随对象的创立而建立副本。如果不想在创建对象的时候就需要知道一些相关信息,那么就声明为static类型的。被修饰为static的成员变量不属于对象,他是属于类的。静态成员变量会被该类中的所有对象共享。

static语法:

static 成员变量类型 成员变量名称

static String color="黄色";

//通过代码来演示修饰符的成员变量属于类,只存一份
public class xiushifu {
//声明一个static类型的String类型的变量color
static String color="绿色";
创建xiushifu的构造器
public xiushifu(String color)
{
this.color+=color;
}
public static void main(String[] args)
{
//创建xiushifu的对象实例
xiushifu t1=new xiushifu("黄色");
xiushifu t2=new xiushifu("红色");
System.out.println(t1.color);
System.out.println(t2.color);
System.out.println(color);
}

}

静态变量访问:

当任何一个对象访问静态变量时,保存在类的内存中的公共储存单元中的值也会被修改。

在静态方法中访问非静态变量:

public class biangliang {
static String color="黄色";
public static void main(String[] args)
{
System.out.println(color);
}
}

在非静态方法中访问静态变量:

public class biangliang2 {
static String color="黄色";
public void getMes()
{
System.out.println(biangliang2.color);
}
public static void main(String[] args)
{
biangliang2 t=new biangliang2();
t.getMes();
}

}

 

什么是静态常量:

静态常量是唯一的不变的只存一份数据。在java中用static final两个关键字来修饰成员变量。对于静态常量,系统不会为其分配默认值,程序员必须进行初始化。

//声明两个静态常量

public static final int i=11;

public static final float i=11.0f;

public static final double PI=3.14;

static 关键字修饰成员变量是属于类,随类的创建而创建。

final关键字修饰成员变量的值是不能改变的。

final关键字和static关键字没有先后之分。

public class biangliang3 {
//此为一个静态块
static
{
PI=3.14;
}
//声明一个final static类型的String 类型的常量color
public final static String color="黄色";
//声明一个final static类型的double类型的变量PI
public final static double PI;
public static void main(String[] args);

{
System.out.println(color);
System.out.println(PI);
}


}