zoukankan      html  css  js  c++  java
  • 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轻松入门经典教程【完整版】

  • 相关阅读:
    如何学习linux编程
    SharpMap学习9调侃WebGIS
    蛮力法01
    SharpMap学习10比例尺
    蛮力法03
    系统学习Linux11点建议
    蛮力算法02
    大地坐标系
    Windows 7下删除右键新建菜单项的多余选项
    GIS中的坐标系相关概念
  • 原文地址:https://www.cnblogs.com/cenliang/p/5627289.html
Copyright © 2011-2022 走看看