JAVA一个类有两个构造函数,当在一个构造函数中调用另外一个构造函数时为什么要用this.()而不能用类名.()
classTest{inti;Test(){i=0;}Test(inti){this.();}}我的意思是此处第二个构构造函数调用第一个构造函数时为什么必须用this.(...
class Test{
int i;
Test(){ i = 0; }
Test(int i){ this.();}
}
我的意思是此处第二个构构造函数调用第一个构造函数时为什么必须用this.()而不能用Test.()
打错了
是this() 和 类名()
多打了一点 展开
int i;
Test(){ i = 0; }
Test(int i){ this.();}
}
我的意思是此处第二个构构造函数调用第一个构造函数时为什么必须用this.()而不能用Test.()
打错了
是this() 和 类名()
多打了一点 展开
8个回答
展开全部
构造方法是在产生对象时被java系统自动调用的,我们不能在程序中像调用其他方法一样去调用构造方法(必须通过关键词new自动调用它)。但我们可以在一个构造方法里调用其他重载的构造方法,不是用构造方法名,而是用this(参数列表)的形式,根据其中的参数列表,选择相应的构造方法。例如:
public class Person{
String name;
int age;
public Person(String name){
this.name = name;
}
public Person(String name,int age){
this(name);
this.age = age;
}
}
public class Person{
String name;
int age;
public Person(String name){
this.name = name;
}
public Person(String name,int age){
this(name);
this.age = age;
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你要用Test.(),必须先实例化,Test test=new Test();然后test.Test();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this.()这后面没点的吧。
this()这个能表示是当前对象的构造方法,不会弄两个对象出来啊。Test()这么搞那就肯定两个对象出来了。
this有个作用就是表示自己类的对象。所以除非你想弄两个对象,否则构造掉构造就要加this.
this()这个能表示是当前对象的构造方法,不会弄两个对象出来啊。Test()这么搞那就肯定两个对象出来了。
this有个作用就是表示自己类的对象。所以除非你想弄两个对象,否则构造掉构造就要加this.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用this可使人容易理解,如果用Test()会感觉很别扭的!
这只是语法规定,研究这个意义不大。
这只是语法规定,研究这个意义不大。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询