5、改正下面程序中的错误。
class AbstractDemo {
public static void main(String[] args) {
Student s = new Student("zhang", 45);
s.study();
s.show();
Worker w = new Worker("zhan", 65);
w.study();
Person person = new Person(); // (1)
}
}
abstract class Person {
private String name;
private int age;
public Person(String name, int age) {
name = name; // (2)
this.age = age;
}
public void study(); // (3)
public void show() {
System.out.println("我是....");
}
}
class Student extends Person {
public Student(String name, int age) {
super(); // (4)
}
public int study() { // (5)
System.out.println("练习");
}
}
class Worker extends Person {
public Worker(String name, int age) {
super(name, age);
}
public void study() {
System.out.println("自学");
}
}
class AbstractDemo {
public static void main(String[] args) {
Student s = new Student("zhang", 45);
s.study();
s.show();
Worker w = new Worker("zhan", 65);
w.study();
Person person = new Student("zhang",35); // (1)
}
}
abstract class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name; // (2)
this.age = age;
}
public abstract void study(); // (3)
public void show() {
System.out.println("我是....");
}
}
class Student extends Person {
public Student(String name, int age) {
super(name,age); // (4)
}
public void study() { // (5)
System.out.println("练习");
}
}
class Worker extends Person {
public Worker(String name, int age) {
super(name, age);
}
public void study() {
System.out.println("自学");
}
}
你这注释里面不就是错误位置吗,都告诉你哪里有错误了还不会改吗
1.person类没有无参构造函数,需要传参,或者写person=s
2.name=name改为this.name=name
3.没有函数体,分号改为{}
4.super(name,age)
5.int改为void
//改动地方
// (1)
Person person = new Person("小曾", 45); // (1)
//(2)
this.name = name; // (2)
// (3)
public void study(){
System.out.println("我是学习呢");
}
//(4)
super(name,age); // (4)
//(5)
public void study() { // (5)
System.out.println("练习");
}
学还是要好好学~课还是要好好上!
抽象类怎么实例化
第(4)有错误,抽象类person只有一个两个参数的构造方法,所以子类中进行构造时必须显示调用super,带两个参数
自己对照着去改吧
public abstract class Person {
private String name;
private int age;
public Person() {
}
public Person(String name, int age) {
this.name = name; // (2)
this.age = age;
}
public abstract void study(); // (3)
public void show() {
System.out.println("我是....");
}
}
class Student extends Person {
public Student() {}
public Student(String name, int age) {
super(name, age);
}
public void study() { // (5)
System.out.println("练习");
}
}
class Worker extends Person {
public Worker(String name, int age) {
super(name, age);
}
public void study() {
System.out.println("自学");
}
}
public static void main(String[] args) {
Student s = new Student("zhang", 45);
s.study();
s.show();
Worker w = new Worker("zhan", 65);
w.study();
Person person = new Student();
person.show();
}
要挂了