我这个怎么没显示出来

来源:7-4 Java 中的 this 关键字

慕前端7397748

2018-10-06 10:26

https://img4.mukewang.com/5bb81d200001757607520603.jpg求解答,sendMessage没显示出来

写回答 关注

2回答

  • 忘记过去丶
    2018-10-06 13:13:24
    已采纳
    1. private访问修饰符你写在了方法的前面,也就是限定了你方法的访问范围(只能在本类使用)。你的main方法没贴出来, 通过你的程序运行结果来看,你是用 对象名.属性名 进行的赋值操作。然后,你在进行输出的时候应该用的是System.out.println("Screen:"+对象名.getScreen()); 。但是,请注意!你的private修饰后,setScreen是不能进行赋值的。否则报错,这也是为什么判断你是用对象名.属性名 进行的赋值操作的。所以,你应该把private删除换成public。不过这样之后,你的setScreen的方法就用不到了,自然你调用sendMessage的方法也就没有用上。

    2. private一般是修改属性可见性的,以便于完成封装。对于方法的修饰,从2-*这几个章节并没有详细介绍如何使用。现在的知识层次我只能理解private修饰方法时,是让方法只在本类使用。你所编辑的代码用到了setters和getters方法,我认为毫无必要。你没有进行属性的可见性定义,也就谈不上封装或者利用setters和getters方法。

    3. this的使用。你在setScreen方法中已经以大小写“S”来区分了screen和Screen,为什么还再用this在指定当前对象呢?this的用法在2-4已经进行了说明和演示,this是用来区分属性名和参数名的相同的问题。所以,this也没有必要写。

    4. 第一条是主要导致你运行结果的问题,第二条是你对setters和getters方法运用原理的混淆,第三条是你对this理解的误区。当然,我们都是初学者,我也可能有许多理解错误的地方。所以,这些也只是作为你的一个参考方向,我也在解决你的问题时有所收获,希望能够共同进步!

    5. 望采纳谢谢!

  • 忘记过去丶
    2018-10-06 13:22:02

    class Demo: https://img4.mukewang.com/5bb845730001572313660736.jpg


    main:https://img3.mukewang.com/5bb845900001f29113660736.jpg

     尽量提问时将main方法贴出来,能够更直观找到问题。

     这是我的想法,仅供参考,希望共同进步!谢谢!

    慕前端739...

    谢谢!

    2018-10-07 09:38:40

    共 1 条回复 >

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530653 学习 · 6091 问题

查看课程

相似问题