zoukankan      html  css  js  c++  java
  • Java基础语法

    使用static关键字修饰的变量、常量和方法分别被称作静态变量、静态常量和静态方法,也被称作类的静态成员

    静态变量

    使用static修饰过的类变量称为静态变量

    该变量需要使用类名.变量名进行调用,不能使用对象名/this进行调用

    在类方法中不能定义与静态变量同名的局部变量

     1 package mingri.chapter_6;
     2 
     3 public class Pool {
     4 
     5     public static int water = 0;    // 定义一个静态变量
     6 
     7     public void outlet() {
     8         // String water = "";   // 在类方法中,不能定义与静态变量同名的变量名
     9         if (water >= 2) {       // 在类方法中不能使用 this.water 进行调用,只能使用变量名进行调用
    10             water -= 2;
    11         } else {
    12             water = 0;
    13         }
    14     }
    15 
    16     public void inlet() {
    17         water += 3;
    18     }
    19 
    20     public static void main(String[] args) {
    21         Pool pool = new Pool();
    22         System.out.println("水池的水量:" + Pool.water);  // 只能通过类名.静态变量名进行访问
    23 
    24         pool.inlet();
    25         pool.inlet();
    26 
    27         System.out.println("水池的水量:" + Pool.water);
    28         System.out.println("水池放水一次");
    29         pool.outlet();
    30         System.out.println("水池的水量:" + Pool.water);
    31     }
    32 }

    静态方法

    静态方法与静态变量类似,使用类名.静态方法名即可调用

     1 package mingri.chapter_6;
     2 
     3 public class Pool2 {
     4 
     5     // 定义静态变量
     6     public static int water = 0;
     7 
     8     // 定义静态方法
     9     public static void outlet() {
    10         if (water > 2) {
    11             water -= 2;
    12         } else {
    13             water = 0;
    14         }
    15     }
    16 
    17     // 定义静态方法
    18     public static void inlet() {
    19         water += 3;
    20     }
    21 
    22     public static void main(String[] args) {
    23         System.out.println("水池的水量:" + Pool2.water);     // 调用静态变量
    24         System.out.println("水池注水两次。");
    25 
    26         Pool2.inlet();      // 调用静态方法
    27         Pool2.inlet();
    28 
    29         System.out.println("水池的水量:" + Pool2.water);    // 调用静态变量
    30         System.out.println("水池放水一次。");
    31 
    32         Pool2.outlet();     // 调用静态方法
    33 
    34         System.out.println("水池的水量:" + Pool2.water);     // 调用静态变量
    35     }
    36 }

    静态代码块

    在类的成员方法之外,用static修饰代码区域可以称之为静态代码块。定义一块静态代码块,可以完成类的初始化操作,在类声明时就会运行

    语法如下:

     1 package mingri.chapter_6;
     2 
     3 public class StaticTest {
     4 
     5     // 静态代码块
     6     static {
     7         System.out.println("静态代码块");
     8     }
     9 
    10     public static void main(String[] args) {
    11         StaticTest st;
    12         System.out.println("main主方法");
    13     }
    14 }

    代码块的执行顺序

     1 package mingri.chapter_6;
     2 
     3 public class StaticTest {
     4 
     5     static String name;
     6 
     7     // 静态代码块
     8     static {
     9         System.out.println(name + "静态代码块");
    10     }
    11 
    12     public StaticTest(String str){
    13         name = str;
    14         System.out.println(name + "构造方法");
    15 
    16     }
    17 
    18     public void method() {
    19         System.out.println(name + "成员方法");
    20     }
    21 
    22     public static void main(String[] args) {
    23         StaticTest s1;      // 声明变量的时候就已经运行静态代码块了
    24         StaticTest s2 = new StaticTest("s2");
    25         StaticTest s3 = new StaticTest("s3");
    26         s3.method();
    27         System.out.println("main主方法");
    28     }
    29 }
    30 
    31 /*
    32 * 输出结果
    33     null静态代码块
    34     s2构造方法
    35     s3构造方法
    36     s3成员方法
    37     main主方法
    38 * */
  • 相关阅读:
    JavaScript:Number 对象
    JavaScript:Math 对象
    杂项:引用资源列表
    小团队管理与大团队管理
    技术转管理
    【翻译+整理】.NET Core的介绍
    自己开发给自己用的个人知识管理工具【脑细胞】,源码提供
    关于【自证清白】
    这篇博客能让你戒烟——用程序员的思维来戒烟!
    如果我是博客园的产品经理【下】
  • 原文地址:https://www.cnblogs.com/CongZhang/p/9956122.html
Copyright © 2011-2022 走看看