以下代码为什么会报错找不到符号 this.name =name

qq_40545642 2017-10-09 04:59:30
public class Outer
{
class Inner
{
Inner(String name)
{
this.name = name;
}
}

public Inner create(String s)
{
return new Inner(s);
}

public static void main(String[] args)
{
Outer o = new Outer();
Outer.Inner i = o.create("aaaa");
}
}
...全文
510 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ocean木子 2017-10-10
  • 打赏
  • 举报
回复
this.name = name;这里的this表示当前inner对象,this.name引用的是当前inner对象的name属性,当前Inner对象没有name属性,所以报错
  • 打赏
  • 举报
回复
内部类没有name属性
qq_39912309 2017-10-10
  • 打赏
  • 举报
回复
引用 2 楼 qq_40545642 的回复:
[quote=引用 1 楼 pany1209 的回复:] name属性在哪里????
create方法里面不是要返回一个Inner对象吗,参数s就对应name啊?[/quote]this.name是指内部类的name属性,参数s是形参,你内部类几没有name属性
w_sabre 2017-10-10
  • 打赏
  • 举报
回复
没有定义name,这样就好: class Inner { String name; Inner(String name) { this.name = name; } }
  • 打赏
  • 举报
回复
qq_40545642 2017-10-09
  • 打赏
  • 举报
回复
引用 1 楼 pany1209 的回复:
name属性在哪里????
create方法里面不是要返回一个Inner对象吗,参数s就对应name啊?
devin_jia 2017-10-09
  • 打赏
  • 举报
回复
引用 3 楼 a229397620 的回复:
[quote=引用 2 楼 qq_40545642 的回复:] [quote=引用 1 楼 pany1209 的回复:] name属性在哪里????
create方法里面不是要返回一个Inner对象吗,参数s就对应name啊?[/quote] this.name在哪里[/quote]
你看见了吗° 2017-10-09
  • 打赏
  • 举报
回复
引用 2 楼 qq_40545642 的回复:
[quote=引用 1 楼 pany1209 的回复:] name属性在哪里????
create方法里面不是要返回一个Inner对象吗,参数s就对应name啊?[/quote] this.name在哪里
李德胜1995 2017-10-09
  • 打赏
  • 举报
回复
name属性在哪里????

62,625

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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