zr_dixuexiongying 2008-07-21 20:19 采纳率: 0%
浏览 74
已采纳

java基础问题

public class Flower {
private int petalCount = 0;
private String s = new String("null");
Flower(int petals) {
petalCount = petals;
System.out.println(
"Constructor w/ int arg only, petalCount= "
+ petalCount);
}
Flower(String ss) {
System.out.println(
"Constructor w/ String arg only, s=" + ss);
s = ss;
}
Flower(String s, int petals) {
this(petals);
//! this(s); // Can't call two!
this.s = s; // Another use of "this"
System.out.println("String & int args");
}
Flower() {
this("hi", 47);
System.out.println(
"default constructor (no args)");
}
void print() {
//! this(11); // Not inside non-constructor!
System.out.println(
"petalCount = " + petalCount + " s = "+ s);
}
public static void main(String[] args) {
Flower x = new Flower();
x.print();
}
} ///:~

请问一下上面的输出结果是什么,为什么!说明原因

  • 写回答

1条回答 默认 最新

  • lggegegmail 2008-07-22 00:05
    关注

    我初看还以为是类的变量的初始化顺序呢.

    这个, 不就是一层一层的调用this上去么. 再一层一层的回来. 没特别的地方呀.
    输出顺序等于调用顺序, 再加上 调用结束回来继续向下的输出.

    Constructor w/ int arg only, petalCount= 47
    // this(petals);

    String & int args
    // this("hi", 47);

    default constructor (no args)
    // new Flower();

    petalCount = 47 s = hi
    // x.print();

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。
  • ¥30 求给定范围的全体素数p的(p-2)/p的连乘积值
  • ¥15 VFP如何使用阿里TTS实现文字转语音?