为了账号安全,请及时绑定邮箱和手机立即绑定

后面两张写法可以么

1. public ListTest(){ this.coursesToSelect=new ArrayList(); }
2. public ListTest(){ ArrayList coursesToSelect=new ArrayList();}
3. public ListTest(){ List coursesToSelect=new ArrayList();}

1为老师写法,2和3编译也能通过,他们的区别在哪

正在回答

2 回答

我意思是1方法中有this代表的是属性,而后面俩个方法只是你创建的对象,刚好是同一个名字,但不是属性,你可以编译一下看看按你这种创建的话属性有没有加上,我还没装软件,等我装了试试也行

0 回复 有任何疑惑可以回复我~
#1

慕运维5521107 提问者

非常感谢!
2018-01-21 回复 有任何疑惑可以回复我~
#2

慕运维5521107 提问者

确实,后面2种是创建了一个只能在构造方法中使用的对象,而不是声明ListTest的属性。
2018-01-21 回复 有任何疑惑可以回复我~

老师这个是初始化类中的属性,给属性赋值,而你后面那俩个是在创建对象的时候同时创建一个名为coursesToselect的对象。你可以试一试你后面那俩个有没有给属性赋值,应该是没有

0 回复 有任何疑惑可以回复我~
#1

慕运维5521107 提问者

1写法中,初始化属性,但是并未赋值啊,只是声明这个属性存在,而值为空。 我的后面两种写法同样声明了这两种属性存在啊,也是一样值为空。 那么差别在哪呢。。。。
2018-01-20 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

后面两张写法可以么

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信