请教一下没太懂

请教一下没太懂

老师,我知道静态方法不能访问非静态方法,但是这里不是已经实例化了一个对象吗?在静态方法里面通过了new Demo 申明了一个对象去访问的,为什么也不行。并且我记得之前上课讲过,可以直接通过new一个对象而不实例化直接调用方法,所以这里为什么会访问不了呢

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕小脸 2020-09-23 18:08:10

同学你好,这里是指getMChar()方法,返回了一个非静态成员,所以导致编译报错,如下

http://img1.sycdn.imooc.com//climg/5f6b1e4d09e6fead05990224.jpg

同学可以去eclipse中敲写一遍代码试试哟

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


好帮手慕小脸 2020-09-23 17:34:35

同学你好,是的,理解是可以的,在主方法中创建了当前类的对象,调用了对象的getMChar()方法,获得ch属性值。最后将值打印输出。

由于在getMChar()静态方法中不能直接访问非静态成员ch,所以程序编译会报错。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 dddddda #1
    这个题不是没有直接访问吗,它申明了一个对象,通过对象去访问的呀
    2020-09-23 17:57:05
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师