检查以下代码并改正:package chapter03; class Emp{ public String name; public int salary; public Emp(String name,int salary) { this.name = name; this.salary = salary; } public void work() { System.out.println("员工需要工作"); } } class Programer extends Emp{ public Programer(){ super(); } public Programer(String name, int salary) { super(name,salary); } } public class Exercise3_1 { public static void main(String[] args) { // TODO Auto-generated method stub Emp emp = new Emp(null, 0); emp.work(); Programer programer = new Programer(); programer.work(); } }
时间: 2023-05-21 20:05:34 浏览: 52
在 Programer 类的默认构造函数中,需要调用父类的构造函数 super(name, salary),以便正确初始化父类的 name 和 salary 成员变量。因此可以将其修改为:
class Programer extends Emp{
public Programer(){
super(null,0);
}
public Programer(String name, int salary) {
super(name,salary);
}
}
此外,在程序的 main 函数中,创建 Programer 对象时应该传入姓名和工资等参数,以便正确初始化 Programer 对象。因此可以将其修改为:
Programer programer = new Programer("张三", 5000);
programer.work();
相关问题
在birddb中创建一个员工表:emp 包含字段有:id,name,salary,job
好的,您可以使用以下SQL语句在birddb数据库中创建一个员工表emp,并包含id,name,salary和job四个字段:
```
CREATE TABLE emp (
id INT PRIMARY KEY,
name VARCHAR(255),
salary FLOAT,
job VARCHAR(255)
);
```
这会创建一个名为emp的表,其中包含id、name、salary和job四个字段。您可以根据需要将表中的其他字段添加到该表中。
创建数据库TestDb 在TestDb下创建表t_emp表结构id 数据类型 INT name 数据类型varchar32 deptld 数据类型INT salary 数据类型 FLOAT
要创建数据库TestDb并在其中创建表t_emp,可以按照以下步骤进行操作:
1. 创建数据库TestDb:
可以使用SQL语句来创建数据库,例如:
```
CREATE DATABASE TestDb;
```
2. 在TestDb下创建表t_emp:
可以使用SQL语句来创建表,定义表的结构和字段类型,例如:
```
USE TestDb;
CREATE TABLE t_emp (
id INT,
name VARCHAR(32),
deptld INT,
salary FLOAT
);
```
这样就成功创建了数据库TestDb,并在其中创建了表t_emp,表结构包括id(INT类型)、name(VARCHAR(32)类型)、deptld(INT类型)和salary(FLOAT类型)字段。