JavaSE 基础 第28节 static 关键字

2016-06-29

1 静态变量

静态变量是属于类的,和对象没有关系。
非静态变量是属于某个对象的,每个对象都有该数据的副本,而静态变量只有一个。

package com.java1995;

public class StaticTest {
    
    int commonint=0;//普通变量
    static int staticint=0;//静态变量
    
    StaticTest(int x){
        this.commonint=x;
    }
    
    public static void main(String[] args) {
        StaticTest s1=new StaticTest(1);
        StaticTest s2=new StaticTest(2);
        
        System.out.println("s1.commint="+s1.commonint);
        System.out.println("s2.commint="+s2.commonint);
        
        s1.staticint=1;
        System.out.println("s1为staticint赋值为1");
        System.out.println("s1.staticint="+s1.staticint);
        System.out.println("s2.staticint="+s2.staticint);
        System.out.println("s2为staticint赋值为15");
        s2.staticint=15;
        System.out.println("s1.staticint="+s1.staticint);
        System.out.println("s2.staticint="+s2.staticint);
    }

}

 

package com.java1995;

public class Student {
    
    int id=0;
    static int num=0;//静态变量
    
    Student(int id){
        this.id=id;
        num++;
    }
    
    public static void main(String[] args) {
        Student s1=new Student(100);
        Student s2=new Student(101);
        Student s3=new Student(102);
        Student s4=new Student(103);
        
        System.out.println("s1的学号 :"+s1.id);
        System.out.println("s2的学号 :"+s2.id);
        System.out.println("s3的学号 :"+s3.id);
        System.out.println("s4的学号 :"+s4.id);
        
        System.out.println("学生的数目为 :"+Student.num);
    }

}

2 静态方法
用static 修饰的方法称为静态方法。
访问静态方法是通过(类名.方法名)
1、静态方法不能访问非静态变量
2、非晶态方法可以访问静态变量

静态属性或方法是在类加载的时候产生的
非静态属性或方法是在new的时候产生的

package com.java1995;

//静态方法
public class StaticMethod {
    public static void main(String[] args) {
            MyMethod.printString("Hello World");
            MyMethod.printInt(101);
    }

}

class MyMethod{
    static void printString(String str){
        System.out.println(str);
    }
    
    static void printInt(int i){
        System.out.println(i);
    }
}

3 静态常量
public static final int x=123;

package com.java1995;

public class Demo {
    
    static int x=0;
    static{
        x=100;        //静态常量
    }
    
    Demo(){
        System.out.println(x);
    }
    
    public static void main(String[] args) {
        new Demo();
    }

}

 

【参考资料】

[1] Java轻松入门经典教程【完整版】

posted @ 2016-06-29 16:20  岑亮  阅读(188)  评论(0编辑  收藏  举报