java继承中的构造方法的问题
代码如下:
class Person
{
	 public String name;
	 public int age;
 //  Person() {}
    Person(String name,int age) {
	      setPerson(name,age);
	}
	public void setPerson(String name,int age) {
	      this.name = name;
		  this.age = age;
	}
	String getname() {
	     return name;
	}
	int getage() {
	     return age;
	}
}
class Student extends Person {
	  String   name;
	  int       age;
      String   school;
      int      QQ;
	 Student (String name, int age, String school,  int QQ) {
		// super(name,age);
	      setStudent12(name,age,school, QQ);
	 }
   void setStudent12(String name, int age, String school,  int QQ) {
	  this.name = name;
	  this.age = age;
	  this.school = school;
	  this.QQ = QQ;
   }
     
	  String getschool() {
	       return school;
	  }
	  int getQQ() {
	       return QQ;
	  }
}
public class STUdent
{
	public static void main(String[] args) 
	{
        Student  S = new Student("李华",23,"hbmy",20);
		System.out.println(S.getname()+S.getage()+S.getschool()+S.getQQ());
	}
}
---------- 编译 ----------
STUdent.java:32: 错误: 无法将类 Person中的构造器 Person应用到给定类型;
	 Student (String name, int age, String school,  int QQ) {
	                                                        ^
  需要: String,int
  找到: 没有参数
  原因: 实际参数列表和形式参数列表长度不同
1 个错误
Output completed (0 sec consumed) - Normal Termination
              
------解决方案-------------------- Student构造时一定要要执行父类的构造函数,若没有指定就默认无参构造函数,你没有写无参的构造函数,所以编译会报错。或者在Student的构造函数调用父类有参的构造函数。
------解决方案-------------------- 引用: 成员变量不是还可以  隐藏   的吗,如果父类的成员变量在子类中完全被隐藏,这还需要用父类的构造方法么? 
我这书上它没写啊!!!  
只要有继承,就必须用一次父类的构造方法。就算父类成员变量在子类中完全被隐藏,默认还是会调用一次无参的构造。。。上面两个注释的地方启用一个就行~
我一直是这么理解的,不知道其他人怎么看
------解决方案-------------------- 子类构造的时候先调用父类构造函数,没显示调用就是调用的父类无餐那个 你这两个//  自己研究下