Java改错求求了帮帮忙

package lijinyu86;

public class Person {
    public String name;
    public String gender;
    public int age;
 Person(String name,String gender,int age){
   this.name=name;
       this.gender=gender;
       this.age=age;
     }
     private void display(){
           System.in.println("姓名:"+name+" 性别:"+gender+" 年龄:"+age);
}
}


public class Pupil extends Person {
public String number;
 Student (String name,String gender,int age,String number){
      super(name,gender);
    this.number=number;
  }
  public void showNum(){
    System.out.print("学号:"+number+" ");
  }


public class TestClass {
  public static void main(String[] args) {
  // TODO Auto-generated method stub
    Pupil s1=new Student("张无忌","男",20,"18001");
    Pupil s2=new Student("赵敏","女",19,18002);
    s1.showNum();
    s1.display()
    s2.showNum();
    s2.display();
  }
}

题主 把你的出的问题截图出来或描述出来

super(name,gender,age); 你少写个age吧

把super(name,gender);

改为

super(name,gender,age);

请采纳,谢谢!

 

display的方法前缀是private ,所以无法调用s1.display()

Pupil改成Student

 

public class Person {
    public String name;
    public String gender;
    public int age;
    Person(String name,String gender,int age){
        this.name=name;
        this.gender=gender;
        this.age=age;
    }
    public void display(){
        System.out.println("姓名:"+name+" 性别:"+gender+" 年龄:"+age);
    }
}
public class Student extends Person {
    public String number;

    Student(String name, String gender, int age, String number) {
        super(name, gender,age);
        this.number = number;
    }

    public void showNum() {
        System.out.print("学号:" + number + " ");
    }


}
public class TestMain {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Student s1 = new Student("张无忌", "男", 20, "18001");
        Student s2 = new Student("赵敏", "女", 19, "18002");
        s1.showNum();
        s1.display();
        s2.showNum();
        s2.display();
    }
}

如果你描述的所有代码都在一个文件里面的话,那么有如下错误:

 

public class Person

改成

class Person   

 

----

 

System.in.println("姓名:"+name+" 性别:"+gender+" 年龄:"+age);

改成

   System.out.println("姓名:"+name+" 性别:"+gender+" 年龄:"+age);

 

----

 

private void display()

改成

protected void display()

----

public class Pupil extends Person

改成

class Student extends Person

----

super(name,gender);

改成

super(name,gender,age);

----

public void showNum(){
    System.out.print("学号:"+number+" ");
}

改成

public void showNum(){
    System.out.print("学号:"+number+" ");
}}

----

Pupil s1 = new Student("张无忌", "男", 20, "18001");
Pupil s2 = new Student("赵敏", "女", 19, 18002);

改成

Student s1 = new Student("张无忌", "男", 20, "18001");
Student s2 = new Student("赵敏", "女", 19, "18002");

----

s1.display()

改成

s1.display();

----

s2.display()

改成

s2.display();

----

整个文件的文件名必须是:

TestClass.java

 

完整正确的代码为:

package lijinyu86;

class Person {
    public String name;
    public String gender;
    public int age;

    Person(String name, String gender, int age) {
        this.name = name;
        this.gender = gender;
        this.age = age;
    }

    protected void display() {
        System.out.println("姓名:" + name + " 性别:" + gender + " 年龄:" + age);
    }
}

class Student extends Person {
    public String number;

    Student(String name, String gender, int age, String number) {
        super(name, gender, age);
        this.number = number;
    }

    public void showNum() {
        System.out.print("学号:" + number + " ");
    }
}

public class TestClass {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Student s1 = new Student("张无忌", "男", 20, "18001");
        Student s2 = new Student("赵敏", "女", 19, "18002");
        s1.showNum();
        s1.display();
        s2.showNum();
        s2.display();
    }
}

 

package com.example.demo;

/**
 * @author
 * @date
 */
class Person {
    private String name;
    private String gender;
    private int age;
    Person(String name,String gender,int age){
        this.name=name;
        this.gender=gender;
        this.age=age;
    }
    public void display(){
        System.out.println("姓名:"+name+" 性别:"+gender+" 年龄:"+age);
    }
}


class Student extends Person {
    private String number;

    Student(String name, String gender, int age, String number) {
        super(name, gender, age);
        this.number = number;
    }

    public void showNum() {
        System.out.print("学号:" + number + " ");
    }

}
class TestClass {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Student s1=new Student("张无忌","男",20,"18001");
        Student s2=new Student("赵敏","女",19,"18002");
        s1.showNum();
        s1.display();
        s2.showNum();
        s2.display();
    }
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y