关于重载的问题

qnake 2004-06-08 12:22:40
1. public class MethodOver {
2. private int x, y;
3. private float z;
4. public void setVar(int a, int b, float c) {
5. x = a;
6. y = b;
7. z = c;
8. }
9. }
Which two overload the setVar method? (Choose Two)
A. void setVar (int a, int b, float c){
x = a;
y = b;
z = c;
}
B. public void setVar(int a, float c, int b) {
setVar(a, b, c);
}
C. public void setVar(int a, float c, int b) {
this(a, b, c);
}
D. public void setVar(int a, float b){
x = a;
z = b;
}
E. public void setVar(int ax, int by, float cz) {
x = ax;
y = by;
z = cz;
}
-------------------------------
这提如何B和C有什么不同呢?为什么C不对
...全文
103 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
scvzhang 2004-06-18
  • 打赏
  • 举报
回复
this(a, b, c);?????????
没见过
eboyzhang 2004-06-16
  • 打赏
  • 举报
回复
即使你书写了一个构造函数像这样:

public MethodOver(int a,int b,float c)

你也不能在一个普通的函数(指非构造函数)中使用this(a,b,c)来企图引起对应构造函数的调用,如果你非要如此,编译的时候,编译器会告诉你:

call to this must be first statement in constructor
eboyzhang 2004-06-16
  • 打赏
  • 举报
回复
>>>this()方法不是调用其他不同的构造方法么,this(a, b, c);不就刚好调用第4行的public void setVar(int a, int b, float c)。不知道是不是这样


setVar并不是构造方法。构造方法的名字与类名字相同并且没有任何返回值,在你的例子中,如果要指定一个构造函数的话,应该具有这样的形式:

public MethodOver()
- or -
public MethodOver(带参数)
discolt 2004-06-16
  • 打赏
  • 举报
回复
this(a, b, c); Error .
qnake 2004-06-16
  • 打赏
  • 举报
回复
this()方法不是调用其他不同的构造方法么,this(a, b, c);不就刚好调用第4行的public void setVar(int a, int b, float c)。不知道是不是这样
haitangli3 2004-06-08
  • 打赏
  • 举报
回复
this()这是什么语法,从来没见过!
qnake 2004-06-08
  • 打赏
  • 举报
回复
是不是this(a, b, c);这个没指定是哪个构造方法啊。this()setVar(a,b,c)就对了么
haitangli3 2004-06-08
  • 打赏
  • 举报
回复
this()setVar()
怎么会对!

62,628

社区成员

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

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