What variables can Java’s class constructor access

public class Main {
/**

  • 代码验证问题:
  • 1.使用this关键字时,构造函数里面可以访问:任意位置的成员变量
  • 2.不使用this关键字,构造函数里面可以访问:任意位置成员变量 or 静态变量.
  • 和jvm相联系:
  • (1)类加载机制中,类加载的最后一步:初始化,即为执行<clinit()>方法,包括了:类变量赋值 and 静态语句块的执行.
  • (2)成员变量和类的构造函数一起进行初始化.二者顺序为:成员变量先进行赋初始值,然后执行类的构造函数.
  • 所以说,在类的构造函数中,可以访问任意静态变量,任意成员变量.原因在于二者都已经赋过值了。
    */
    int i;
    static int j;
    Main(){
    i=3;
    System.out.println("i : "+i);
    System.out.println("c : "+c);
    System.out.println("k : "+k);
    }
    int c;
    static int k;
    public static void main(String[] args) {
    Main a=new Main();
    }
    }

result:

Process finished with exit code 0
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>