corejava基础问题
Posted 一个骄傲的少年
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了corejava基础问题相关的知识,希望对你有一定的参考价值。
1、同一个文件里是否可以有两个public类?
答:不能,同一个源文件如果有多个公共类,那么编译器就找不到应该执行的main方法了。当有一个public类,源文件名必须与之相同,否则无法编译。
2、在main方法内是否可以调用一个非静态方法?
答:main方法是静态方法,静态方法可以在没有对象实例的时候直接调用,但是因为没有对象实例,所以不能调用非静态方法。解决办法:new一个对象,然后调用这个对象的方法,或者将这个方法改为static方法。
3、静态方法是否可以调用一个非静态全局变量?
答:静态方法不可以调用非静态全局变量,从内存角度来看,就是当类被加载的时候静态方法和静态属性被加载到内存中,就是在内存中开辟一段内存地址用来保存静态方法和静态属性,这时候没有被实例化的类在内存中是不存在的,所以静态方法是不能访问非静态的全局变量的。在类被实例化的时候,就是new某个类的时候,在内存中给这个类开辟一些内存空间保存这个类的对象,这个时候就可以用静态方法去访问非静态的全部变量。
以上是关于corejava基础问题的主要内容,如果未能解决你的问题,请参考以下文章