为了账号安全,请及时绑定邮箱和手机立即绑定

Student1 sss = new Student1("张三", "北京", '男',25); student1继承了person1的所有方法,为什么不能执行呢,会报错(最后两行)

class Person1{
	private String name ;
	private String address ;
	private char sex ;
	private int age ;
	public Person1() {
	}
	public Person1(String name, String address, char sex, int age) {
		super();
		this.name = name;
		this.address = address;
		this.sex = sex;
		this.age = age;
	}
	public String toString() {
		return "名字:" + this.name+ ", 地址:" + this.address + ",性别:" + this.sex + ",年龄:" + this.age;
	}
}

class Student1 extends Person1{
	private double math;
	private double english;
	public Student1() {
		
	}
	public Student1(double math, double english) {
		super();
		this.math =math;
		this.english = english;
	}
	public Student1(String name, String address, char sex, int age, double math, double english) {
		super(name, address, sex, age);
		this.math =math;
		this.english = english;
		
	}
	public String toString() {
		return super.toString() +"数学成绩:" + this.math +",英语成绩:" + this.english;
	}
}

public class FouthTest1 {
	public static void main(String[] args) {
		Student1 ss = new Student1("张三" , "xian" , '男' ,25 , 100.0 , 95.2 );
		System.out.println(ss);
		Student1 s = new Student1(25.6,93.3);
		System.out.println(s);
		Student1 sss = new Student1("张三", "北京", '男',25);
		System.out.println(sss);
	}
}


正在回答

1 回答

子类student1的构造方法跟父类的构造方法参数不匹配

1 回复 有任何疑惑可以回复我~
#1

慕九州4223353 提问者

子类不是继承了父类的方法吗?怎么样才可以呢
2017-09-22 回复 有任何疑惑可以回复我~
#2

容错率 回复 慕九州4223353 提问者

Student1这个类中没有四个参数的构造方法,而你程序的倒二行却调用了四个参数的构造方法,子类Student1并不会自动继承父类Person1的四个参数的构造方法,所以报错。
2017-09-23 回复 有任何疑惑可以回复我~
#3

容错率 回复 慕九州4223353 提问者

在Student1里面加一个四个参数的构造方法应该就可以了。 public Student1(String name, String address, char sex, int age) { super(name,address,sex,age); } 加上上面这段代码试试。
2017-09-23 回复 有任何疑惑可以回复我~
#4

慕九州4223353 提问者

好的谢谢明白了
2017-09-24 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

Student1 sss = new Student1("张三", "北京", '男',25); student1继承了person1的所有方法,为什么不能执行呢,会报错(最后两行)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信