• 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轻松入门经典教程【完整版】

  • 相关阅读:
    java中equals和==的区别 (转)
    LoadRunner常见问题整理(转)
    python 遇到 syntaxerror: non-ascii character '/xd6' in file 我 教你解决 (python问题)(转)
    Linux查看系统性能命令
    android权限大全
    StringTokenizer类的使用
    web_reg_find()查询信息为变量
    Loadrunner执行Java脚本
    LoadRunner调用Java程序—性能测试
    Request Connection: Remote Server @ 192.229.145.200:80
  • 原文地址:https://www.cnblogs.com/cenliang/p/5627289.html
Copyright © 2020-2023  润新知