gpt4 book ai didi

java - 为什么构造函数中的 this 关键字给出不同的结果?

转载 作者:行者123 更新时间:2023-12-02 11:58:55 26 4
gpt4 key购买 nike

我不明白为什么在这个程序中默认构造函数在参数化构造函数之后执行?

class A{
int a , b;

A(){
this(10,20);
System.out.println("Inside Default Constructor values:"+a+" "+b);
}

A(int a , int b){
this.a=a;
this.b=b;
System.out.println("Inside Parameterized Constructor values:"+a+" "+b);
}
}

public class thisExample {
public static void main(String[] args) {
A obj = new A();
}
}

这给出的输出为:

Inside Parameterized Constructor values:10 20
Inside Default Constructor values:10 20

最佳答案

从你的代码中可以清楚地看出为什么会发生

A obj = new A();

调用默认构造函数

A(){
this(10,20);
System.out.println("Inside Default Constructor values:"+a+" "+b);
}

它首先进一步调用您的参数化构造函数 this(10,20);因此您的代码首先打印 Inside Parameterized Constructor value:10 20 然后打印 Inside Default Constructor value:10 20

关于java - 为什么构造函数中的 this 关键字给出不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47399621/

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