【发布时间】:2021-04-12 21:41:23
【问题描述】:
我有三个类 Person 类,Main 类和 Donar 类,
人物类
public class Person{
private String name;
private String dateOfBirth;
private String gender;
private String mobileNumber;
private String bloodGroup;
Person(){
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDateOfBirth() {
return dateOfBirth;
}
public void setDateOfBirth(String dateOfBirth) {
this.dateOfBirth = dateOfBirth;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getMobileNumber() {
return mobileNumber;
}
public void setMobileNumber(String mobileNumber) {
this.mobileNumber = mobileNumber;
}
public String getBloodGroup() {
return bloodGroup;
}
public void setBloodGroup(String bloodGroup) {
this.bloodGroup = bloodGroup;
}
public void displayPersonDetails( )
{
System.out.println("Name : " + name);
System.out.println("Date of Birth : " +dateOfBirth);
System.out.println("Gender : " +gender);
System.out.println("Mobile Niumber : " +mobileNumber);
System.out.println("Blood Group : "+bloodGroup);
}
}
捐助者类别
class Donor extends Person
{
private String bloodBankName;
private String donorType;
private String donationDate;
public Donor() {
}
public String getBloodBankName() {
return bloodBankName;
}
public void setBloodBankName(String bloodBankName)
{
this.bloodBankName = bloodBankName;
}
public String getDonorType() {
return donorType;
}
public void setDonorType(String donorType) {
this.donorType = donorType;
}
public String getDonationDate() {
return donationDate;
}
public void setDonationDate(String donationDate) {
this.donationDate = donationDate;
}
public void displayDonationDetails( ) {
System.out.println("Donation Details :");
super.displayPersonDetails();
System.out.println("Blood Bank Name : "+bloodBankName);
System.out.println("Donor Type : "+donorType);
System.out.println("Donation Date : "+donationDate);
}
}
主类
package Eboxex1;
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Donor d=new Donor();
Person p=new Person();
Scanner sc=new Scanner(System.in);
System.out.println("Enter the name :");
p.setName(sc.nextLine());
System.out.println("Enter Date of Birth :");
p.setDateOfBirth(sc.nextLine());
System.out.println("Enter Gender :");
p.setGender(sc.nextLine());
System.out.println("Enter Mobile Number :");
p.setMobileNumber(sc.nextLine());
System.out.println("Enter Blood Group :");
p.setBloodGroup(sc.nextLine());
System.out.println("Enter Blood Bank Name :");
d.setBloodBankName(sc.nextLine());
System.out.println("Enter Donor Type :");
d.setDonorType(sc.nextLine());
System.out.println("Enter Donation Date :");
d.setDonationDate(sc.nextLine());
d.displayDonationDetails();
sc.close();
}
}
输出
我不知道错误是什么。
当我们运行 main 方法时,意味着它将向用户询问详细信息,然后像 Name, Date of Birth, Gender, Mobile Number, Blood Group 这样的详细信息会转到 Person 类(getter 和 setter 方法),然后像 Blood Bank Name, Donor Type, Donation Date 这样的详细信息会转到 @ 987654329@类(getter和setter方法) 然后在主类中调用方法displayDonationDetails。在这个方法中,我们必须调用 Person 类中的细节。但是该方法无法将Person类的详细信息获取到Donor类方法
【问题讨论】:
标签: java inheritance methods super superclass