gpt4 book ai didi

java - 在 java 和 python 中创建对象时幕后发生了什么

转载 作者:行者123 更新时间:2023-12-01 17:18:54 24 4
gpt4 key购买 nike

继 Java 之后,我最近开始学习 Python。

我了解到,在创建对象时,首先必须创建原始或未初始化的对象,然后必须初始化该对象。

我的结论是,首先 __new()__ 创建原始对象,然后我们需要 __init()__ 一个 self 参数来初始化原始对象。

所以我的第一个问题是在 Java 中创建对象时是否会发生相同的过程。

第二个是像Python一样,Java编译器也在它的方法中添加了一个自动参数来支持this。如下:

class Test

public Test(Test this){}

public int method(Test this,int i){

return i;

}

最佳答案

这是Java中的“引用变量”,引用当前对象。编译器处理对象内部 this 的使用。例如,当您创建如下所示的类时:

public class Coordinates
{
private int x;
private int y;

Coordinates(int x, int y)
{
this.x= x;
this.y = y;
}

void showCurrentLocation()
{
System.out.println("The coordinates are: x = " + x + " y = " + y);
}

public static void main(String[] args)
{
Coordinates coordinates = new Coordinates(11, 2);
coordinates.showCurrentLocation();
}
}

this.x 将引用对象的属性 x,另一个 x 将引用输入参数。在 Java 和 C++ 中,编译器还会向其方法添加一个自动参数来支持您所要求的功能。

为了观察自己,我建议你使用 Eclipse 或 IntelliJ Idea 中的调试器,你会看到 this 并且你会看到它保存了哪些变量的值。

关于java - 在 java 和 python 中创建对象时幕后发生了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61336870/

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