静态修饰符
2016-10-26 13:00 backyyan 阅读(336) 评论(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);
}
}