修改下面程序中的语法错误 abstract class Human{ String name = “Unknown”; } class Boy extends Human{ public Boy(String name){ super(name); } } 2. (简答题) 修改下面程序中的语法错误 class Doc{ String title = “Unknown”; } public class Test{ public static void main(String[] args){ Object doc = new Doc("Hello World"); System.out.println(doc.title); } }
时间: 2023-07-16 17:15:16 浏览: 102
1. 修正后的程序:
```
abstract class Human {
String name = "Unknown";
public Human(String name){
this.name = name;
}
}
class Boy extends Human {
public Boy(String name) {
super(name);
}
}
```
在 `Human` 类中添加了一个构造函数,用于初始化 `name` 属性。
2. 修正后的程序:
```
class Doc {
String title = "Unknown";
public Doc(String title) {
this.title = title;
}
}
public class Test {
public static void main(String[] args) {
Doc doc = new Doc("Hello World");
System.out.println(doc.title);
}
}
```
在 `Doc` 类中添加了一个构造函数,用于初始化 `title` 属性。同时,将 `Object` 类型的变量 `doc` 修改为 `Doc` 类型的变量,并且不需要调用 `title` 属性时再进行强制类型转换。
相关问题
public class Person private String name=“ Person” int age=0; Public class Child extends Person public String grade; public static void main (String args) Person p = new Child(); System.out.println(p.name);
这段代码有几个语法错误,应该修改为以下内容:
```java
public class Person {
private String name = "Person";
private int age=0;
}
public class Child extends Person {
public String grade;
public static void main(String[] args) {
Person p = new Child();
System.out.println(p.name);
}
}
```
在这个修正后的代码中,我们定义了 `Person` 和 `Child` 两个类。`Child` 继承自 `Person`,并新增一个 `grade` 属性。`Person` 类中有一个私有属性 `name` 和一个私有属性 `age`。注意,这里我们将 `name` 和 `age` 设置成私有的,因此在 `Child` 类中是不能直接访问它们的。在 `Child` 类中,我们定义了一个 `main` 方法,创建了一个 `Child` 对象并将其赋值给 `Person` 类型的变量 `p`。由于 `Child` 继承自 `Person`,因此可以将 `Child` 对象赋值给 `Person` 类型的变量。最后,我们在 `main` 方法中输出 `p.name` 的值,这里输出的是 `"Person"`。由于 `name` 是 `Person` 类的私有属性,因此子类中是不能直接访问它的。
24.下面程序运行的结果是 public class Teacher extends Person { private String name = "tom"; public Teacher0f System.out.printin("This is a teacher.") super0;
程序会报错,因为 Teacher 类中的构造方法没有被定义。正确的代码应该是:
public class Teacher extends Person {
private String name = "tom";
public Teacher() {
System.out.println("This is a teacher.");
super();
}
}
这样就可以正确地输出"This is a teacher."了。
阅读全文