gpt4 book ai didi

java - 类构造函数如何具有同一类的参数?

转载 作者:搜寻专家 更新时间:2023-10-31 08:28:12 24 4
gpt4 key购买 nike

当我发现其中一个构造函数将“String”对象作为参数时,我正在查看 String.java 源代码。这看起来很简单,但我无法消化它。例如:

public class Example {

private String value;

public Example() {
// TODO Auto-generated constructor stub
}

public Example(Example e){
value = e.getValue();
}

String getValue() {
return value;
}
}

在第一次编译类 Example 时,编译器会遇到以“Example”类对象作为参数的第二个构造函数。此时,它还在编译这个类,如何找到它?

最佳答案

编译类时,它需要访问的是declaration。类的,而不是完整的实现。


换句话说,在编译构造函数时

public Example(Example e) {
value = e.getValue();
}

它只需要知道存在一个名为Example 的类,并且它有一个getValue 方法。在实际尝试编译代码之前,可以通过对源文件的单独传递收集此信息。

(顺便说一句,构造函数与方法的工作方式没有太大区别。乍一看,构造函数似乎需要在编译任何方法之前进行编译,但这种推理混淆了编译时问题和运行时问题问题。)

关于java - 类构造函数如何具有同一类的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11465961/

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