首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构造方法重载Java

构造方法重载Java
EN

Stack Overflow用户
提问于 2014-12-10 18:38:12
回答 2查看 68关注 0票数 1

我想要创建的非常简单的Rational类。

如果在主要方法中调用Rational(2),则调用num = 2den = 1

如果一个人调用Rational(2, 4),那么num = 2den = 4

这是我的代码:

代码语言:javascript
复制
public class Rational {

    public long num;    
    public long den;

    Rational(long arg1, long arg2){

        num = arg1;    
        den = arg2;

    }

    Rational(long arg1){

        long x = 1;
        Rational(arg1, x);  //Rational(long, long) is undefined for type Rational

    }

}

我已经评论了错误消息,我不知道如何修复。

有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-10 18:40:16

您需要使用this关键字,但它需要是构造函数中的第一个语句,因此在此之前不可能定义x

代码语言:javascript
复制
this(arg1, 1); 
票数 7
EN

Stack Overflow用户

发布于 2014-12-10 18:39:31

代码语言:javascript
复制
this(arg1, 1);

使用this关键字调用其他构造函数,类似于使用super。它还必须是构造函数体中的第一个语句。因为它是第一种,所以您必须改变在示例中传递x的方式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27408417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档