public class Waiter { int var; Waiter(int var) { this("Welcome"); } Waiter(String s) { this(); System.out.println(s); } Waiter() { System.out.println("Good-bye"); } public static voidmain(String[]args) { Waiter t = newWaiter(1); } }
时间: 2024-03-23 21:38:52 浏览: 53
该代码存在语法错误,`public static voidmain(String[]args)` 应该是 `public static void main(String[] args)`,需要在 `main` 方法中修改 `Waiter t = newWaiter(1);` 为 `Waiter t = new Waiter(1);`,同时需要在程序的开头加上 `package` 语句和导入 `java.util.*` 包的语句。
修改后的代码如下:
```java
package com.example;
import java.util.*;
public class Waiter {
int var;
Waiter(int var) {
this("Welcome");
}
Waiter(String s) {
this();
System.out.println(s);
}
Waiter() {
System.out.println("Good-bye");
}
public static void main(String[] args) {
Waiter t = new Waiter(1);
}
}
```
运行该程序,输出为:
```
Good-bye
Welcome
```
相关问题
执行int var; Waiter(int var) { this("Welcome"); } Waiter(String s) { this(); System.out.println(s); } Waiter() { System.out.println("Good-bye"); } public static voidmain(String[]args) { Waiter t = newWaiter(1); } }
执行该代码会在编译时报错:`构造函数 Waiter(int) 找不到符号`。因为在创建 Waiter 对象时,传入了一个 int 类型的参数 1,但是 Waiter 类中没有定义接收一个 int 类型参数的构造函数,只有一个接收 String 类型参数的构造函数和一个无参数构造函数。因此编译器无法匹配到合适的构造函数。
阅读全文