静态成员变量和静态方法

静态成员变量和静态方法

静态成员变量

在类的定义体中使用是他提出进行修饰。如果不声明为private的话,在类的外部也是可见的。

静态成员变量的特点

  1. 首先它是成员变量,依然可以被类中的成员方法访问。
  2. 外部访问的时候,可以直接通过类名进行引用,不需要再实例化对象。例如:
   class Chinese{
       static String country = "中国";
       int age;
       ...
       void singOurCountry(){
           System.out.println("亲爱的:"+country);
       }
   } 
   
    class TestChinese{
        ...main(..){
            System.out.println("中国人的祖国是唯一的:"+Chinese.country);
        }
    }
   

注意
方法体内的变量是不能声明为静态的,静态的只能是类的成员变量。

静态方法

同静态成员变量类似,不必创建对象,就可以直接使用该方法

使用静态方法的注意点

  1. 在静态方法中只能调用同类中的其他静态成员(静态成员变量和静态方法),不能访问其他的非静态的成员。
  2. 静态方法使用时不能其内部使用this和super。

上面两个注意点的原理:使用静态方法之前不会创建对象和实例,因此,依赖于对象存在的东西(非静态成员和this,super)都不能在静态方法中使用。

静态代码块

一个类中可以使用不包含在任何方法体中的静态代码块,每当类被载入的时候,静态代码块被执行,且只被执行一次。因此:
静态代码块常被进行类属性的初始化

静态代码块的特点和注意点

  • 无论实例化多少次这个类,类里面的静态代码块只执行一次。

你可能感兴趣的:(静态成员变量和静态方法)