Java中关于this的基础问题,萌新求解答

小晨曦xxx 2017-11-24 08:42:57
因为new Student(张三 20 学生) 以后会立即调用Student类中的构造方法嘛,构造方法中又调用了父类的构造方法,父类构造方法public Person()里的 this.name=name 这个this.name 指代的是什么,是抽象类Person的name属性吗? 最后System.out.println(s.talk())调用talk方法,方法里又出现了this.name,这里的又是指代的什么呢 求大神详解
...全文
181 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
天之上有什么 2017-11-24
  • 打赏
  • 举报
回复
引用 2 楼 weixin_41111013 的回复:
[quote=引用 1 楼 Tian_zhishang 的回复:] this限定的是当前对象的数据域变量,两个this.name都是指的s对象的属性那么
就是说因为首先创建了一个对象s 所以后面的this.属性值都是指的对象s的属性是吗? 也就是我可以把this.属性值 全部替换看做 s.属性值? 谢谢解答[/quote] 是的,因为Student继承了Person类,相应的属性也就继承了,为什么要用this,主要是因为局部变量和成员变量重名了,用this.name=name的意思是把形参传给了s的属性name,如果形参不是name,那连this都没必要写。
小晨曦xxx 2017-11-24
  • 打赏
  • 举报
回复
引用 1 楼 Tian_zhishang 的回复:
this限定的是当前对象的数据域变量,两个this.name都是指的s对象的属性那么
就是说因为首先创建了一个对象s 所以后面的this.属性值都是指的对象s的属性是吗? 也就是我可以把this.属性值 全部替换看做 s.属性值? 谢谢解答
天之上有什么 2017-11-24
  • 打赏
  • 举报
回复
this限定的是当前对象的数据域变量,两个this.name都是指的s对象的属性那么

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧