为什么STASIC方法不能访问非STASIC方法?既然不能访问,为什么MAIN方法属于STATIC方法可以访问任何方法和属性(也包括非STATIC方法和属性)求认真解释要详细哦 30分
你的意思就是实例成员并没有被MAIN直接访问,而是NEW一个对象之后该类所有的实例变量共同拥有一个static变量,MAIN通过这个拥有的static变量来访问这些非STATIC方法和属性,是吗?MAIN没有直接访问非STATIC方法而是间接访问的,这就是为什么所有的CLASS使用之前要NEW一下产生一个对象之后才能使用对吗?
追答静态方法编译的时候,要求它所使用的每个变量都是一个实体,由于这时候那些非静态方法和属性还没开始编译,都不是实体,即还不存在,所以没法引用。你在静态方法里new一个对象后,这个对象就在这个静态方法里有一个实体了,就可以随意访问了。
程序的执行是从main()方法开始就能访问非STATIC方法吗?为什么STASIC方法不能访问非STASIC方法?
追答不能直接访问,java是面向对象的,你得建立一个对象,然后通过对象调用非静态成员方法