关于4-4编程

关于4-4编程

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

重写area 方法要求在里面返回圆的面积,是我这样返回的么。。感觉没什么用啊。只是返回一下而已。请问老师经典写法应该是怎么样的?还有如果我写成this.area 则找不到这个类型,是不是因为area是个局部变量 不是属性?

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

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

1回答
chrismorgen 2018-05-19 19:30:21
  1. 根据同学截图的代码,是这样返回圆的面积的。我们需要这个方法给我们返回什么就怎么写,它可以是一个变量,一个集合、或者是一个类,在以后的编程中,我们常会用到这种带返回值得方法。

  2. 在普通方法中使用this.area()可以找到这个方法,而在主方法中就不能使用this关键字去调用这个方法了,经过static关键字修饰的方法在程序编译时就被加载到内存中了,它不是创建实例的时候才产生的。所以你在主方法中使用this关键字,编译器是判断不出这个this指的是谁。如果我的建议解决了你的问题,请采纳,祝学习愉快~



  • 提问者 慕无忌0089299 #1
    这个this.area是属性啊。我这是在子类求长方形面积的时候,设置返回值时设的一个局部变量。不是调用的方法。所以才有第二个问题。还有如果我写成this.area 则找不到这个类型,是不是因为area是个局部变量 不是属性?
    2018-05-20 10:42:04
  • chrismorgen 回复 提问者 慕无忌0089299 #2
    可以像你那么理解,this表示的是当前这个类,你用this.属性编译器会去这个类中找,也就是找这个类的成员属性,如果你想在方法中调用这个方法的局部变量,直接使用变量名就可以进行操作了,建议同学可以回顾一下java面相对象2-4小节的this关键字,祝学习愉快~
    2018-05-20 14:45:56
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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