假设类A有构造函数A(int a),在类A的其他构造函数中调用该构造函数用this.A(x)
时间: 2024-02-29 21:51:40 浏览: 75
是的,你说的是正确的。在类A的其他构造函数中,可以使用 `this.A(x)` 来调用构造函数 `A(int a)`。这是因为在Java中,通过 `this` 关键字可以引用当前对象,而构造函数是用来创建对象的,因此可以使用 `this` 关键字来调用其他构造函数来创建对象。例如,下面是一个使用 `this` 关键字调用其他构造函数的示例:
```java
public class A {
private int a;
public A(int a) {
this.a = a;
}
public A() {
this(0); // 调用构造函数A(int a)
}
}
```
在上面的例子中,构造函数 `A()` 使用 `this(0)` 来调用构造函数 `A(int a)`,并将参数设置为0。这样,在调用 `A()` 构造函数创建对象时,会自动调用 `A(int a)` 构造函数,并将参数设置为0。
相关问题
假设类 A 有构造函数 A(int a),在类 A 的其他构造函数中调用该构造函数用语句为
可以使用成员初始化列表来调用类 A 的构造函数 A(int a)。例如,假设类 A 还有一个构造函数 A(int a, double b),可以在该构造函数中调用 A(int a) 的语句为:
```
A(int a, double b) : A(a) {
// 其他构造函数的实现
}
```
这样就可以在 A(int a, double b) 构造函数中先调用 A(int a) 构造函数,再进行其他的构造操作。
2假设类 A 有构造函数 A ( int a ),在类 A 的其他构造函数中调用该构造函数并使用参数为2时,调用语句为 ( A ) A (2) ( B ) super (2) ( B ) this (2) ( D ) A )
这个问题中的调用语句是错误的,有一些括号不应该存在。
在类 A 的其他构造函数中调用 A(int a) 构造函数并使用参数为 2 时,应该使用以下调用语句:
```
A(int a) : A(2) {}
```
这个调用语句使用了构造函数的成员初始化列表,其中调用了 A(int a) 构造函数并传入了参数 2。
如果你的意思是想让类 B 和类 D 继承类 A 并调用 A(int a) 构造函数,调用语句应该是这样的:
```
class B : public A {
public:
B() : A(2) {}
};
class D : public A {
public:
D() : A(2) {}
};
```
其中类 B 和类 D 各自定义了无参构造函数,在构造函数的成员初始化列表中调用了 A(int a) 构造函数并传入了参数 2。
阅读全文