课程
/后端开发
/Java
/Java入门第二季 升级版
代码1,我想问一下,不能直接调用非静态成员,但是这里面的name变量,是属于HelloWorld类的成员变量,print方法属于HelloWorld类中的为什么不能调用,因为静态方法中的变量只能用静态变量么?
2017-07-26
源自:Java入门第二季 升级版 8-9
正在回答
print( )有关键字static修饰是静态方法,静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员,如果要在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。希望对你有所帮助。
IT半生瓜 提问者
静态变量和非静态变量内存分配机制不同,变量只有在被分配内存后才可以使用,静态变量在类加载时就会分配内存空间,而非静态变量是在类对象产生时才会分配内存空间。这里报错是因为name还未生成,所以调用时会出错。所以可以改成“new HelloWorld().name”.另外静态方法中的变量不是只能用静态变量,自己敲一下试试就知道了
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
3 回答关于这道题中的this如何使用的问题
3 回答我的代码如下
4 回答我的代码如下
3 回答问一下有关private的问题
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号