慕前端7397748
2018-10-06 10:26
求解答,sendMessage没显示出来
private访问修饰符你写在了方法的前面,也就是限定了你方法的访问范围(只能在本类使用)。你的main方法没贴出来, 通过你的程序运行结果来看,你是用 对象名.属性名 进行的赋值操作。然后,你在进行输出的时候应该用的是System.out.println("Screen:"+对象名.getScreen()); 。但是,请注意!你的private修饰后,setScreen是不能进行赋值的。否则报错,这也是为什么判断你是用对象名.属性名 进行的赋值操作的。所以,你应该把private删除换成public。不过这样之后,你的setScreen的方法就用不到了,自然你调用sendMessage的方法也就没有用上。
private一般是修改属性可见性的,以便于完成封装。对于方法的修饰,从2-*这几个章节并没有详细介绍如何使用。现在的知识层次我只能理解private修饰方法时,是让方法只在本类使用。你所编辑的代码用到了setters和getters方法,我认为毫无必要。你没有进行属性的可见性定义,也就谈不上封装或者利用setters和getters方法。
this的使用。你在setScreen方法中已经以大小写“S”来区分了screen和Screen,为什么还再用this在指定当前对象呢?this的用法在2-4已经进行了说明和演示,this是用来区分属性名和参数名的相同的问题。所以,this也没有必要写。
第一条是主要导致你运行结果的问题,第二条是你对setters和getters方法运用原理的混淆,第三条是你对this理解的误区。当然,我们都是初学者,我也可能有许多理解错误的地方。所以,这些也只是作为你的一个参考方向,我也在解决你的问题时有所收获,希望能够共同进步!
望采纳谢谢!
class Demo:
main:
尽量提问时将main方法贴出来,能够更直观找到问题。
这是我的想法,仅供参考,希望共同进步!谢谢!
Java入门第二季 升级版
530653 学习 · 6091 问题
相似问题
回答 4
回答 3
回答 3
回答 2
回答 1