gpt4 book ai didi

java - 我不了解复制构造函数的详细工作方式

转载 作者:行者123 更新时间:2023-11-29 10:08:27 25 4
gpt4 key购买 nike

这段代码的用途是什么?

public Fraction(Fraction other) {
num = other.num;
denom = other.denom;
}

如果你有这样的构造函数:

public Fraction(int n, int d) {
num = n;
denom = d;
}

为什么要将other.num初始化为num,将other.denom初始化为denom。复制构造函数的语法是什么?目的是什么?

最佳答案

使用起来更方便。


如果您有一个简单的构造函数,例如:

public Fraction(int n, int d) {
num = n;
denom = d;
}

您可以使用以下代码复制实例原件:

Fraction copy = new Fraction(original.num, original.denom);

当使用复制构造函数时,您执行以下调用:

Fraction copy = new Fraction(original);

如果你有很多参数,这会更方便。当您更改构造函数或对象的参数时会发生什么?如果没有复制构造函数,您必须更改所有此类调用。


来自 M 的值得注意的事实。 Prokhorov 的评论:

There is no special syntax for copy constructors, they are just logical style of implementing a parameterized constructor.

关于java - 我不了解复制构造函数的详细工作方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58066445/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com