zoukankan      html  css  js  c++  java
  • JAVA基础知识(2)--关键字static的使用

      在Java类中声明属性、方法和内部类时,可使用关键字static作为修饰符,static标记的属性和方法可以由整个类进行共享,因此static修饰的属性称为类成员或者称为类方法;static修饰的方法称为类方法或者静态方法;

      static修饰的语句块在其所属的类中被载入JVM时被执行一次,一般用于一次性的初始化的工作;而非static语句块是每创建一个对象就执行一次,其运行时机实在对象分配空间及实例默认和显示初始化之后和执行构造方法体中语句之前;

    /**
    *static 操作使用
    *@author lihaiming
    *Email:912547587@qq.com
    */

    public class TestStatic{
    //成员变量,在每个对象中各自有一份;
    private int i=23;
    //类变量,全局中只有一份;
    private static int j=32;

    public static void method1(){
    //i=200;错误!静态方法中不能直接调用变量
    new TestStatic().i=90;
    j=34;
    int k=2;
    }
    public static void main(String[] args){
    TestStatic ts = new TestStatic();
    System.out.println("ts.i="+ts.i);
    System.out.println("j="+j);
    System.out.println("ts.j="+ts.j);
    System.out.println("TestStatic.j="+TestStatic.j);
    System.out.println("------------------");

    TestStatic ts1 = new TestStatic();
    TestStatic ts2 = new TestStatic();

    ts1.i=100;
    ts2.j=200;

    System.out.println("j="+j);
    System.out.println("ts.j="+ts.j);
    System.out.println("ts.j="+ts1.j);
    System.out.println("ts2.j="+ts2.j);

    System.out.println("------------------");

    System.out.println("ts.i="+ts.i);
    System.out.println("ts1.i="+ts1.i);
    System.out.println("ts2.i="+ts2.i);
    System.out.println("------------------");
    method1();
    System.out.println("ts.i="+ts.i);
    System.out.println("j="+j);
    Li.i=100;
    Li l1 = new Li();
    Li l2 = new Li();



    }

    }


    class Li{
    static int i=20;
    int j=30;
    //每创建一个对象就执行非static初始化语句块;
    {

    j=50;
    System.out.println("i="+i);
    System.out.println("j="+j);
    }
    //最先调用static
    static{
    System.out.println("i="+i);
    System.out.println("A Static!");
    }
    }

    程序结果:

    ts.i=23
    j=32
    ts.j=32
    TestStatic.j=32
    ------------------
    j=200
    ts.j=200
    ts.j=200
    ts2.j=200
    ------------------
    ts.i=23
    ts1.i=100
    ts2.i=23
    ------------------
    ts.i=23
    j=34
    i=20
    A Static!
    i=100
    j=50
    i=100
    j=50

  • 相关阅读:
    MySQL 数据类型
    MySQL 存储引擎
    在Windows上安装MySQL
    windows 查看端口占用
    Linux 配置静态IP
    Nginx 核心配置
    Nginx 简介
    Linux下使用Nginx
    Tomcat 核心配置
    Tomcat 项目部署、账户配置、状态监测
  • 原文地址:https://www.cnblogs.com/lihaiming93/p/4678525.html
Copyright © 2011-2022 走看看