本帖最后由 sun61599536 于 2012-03-02 19:59:22 编辑

解决方案 »

  1.   

    public void Student(String name,int age,String school){
    多了void
      

  2.   


    class Person
    { protected String name;
    protected int age; // 注意书写规范,setter和getter首字母要小写
    public String getName()
    {
    return name;
    } public void setName(String name)
    {
    this.name = name;
    } public int getAge()
    {
    return age;
    } public void setAge(int age)
    {
    this.age = age;
    }}class Student extends Person
    { public String school; public void setSchool(String school)
    {
    this.school = school;
    } public Student()// 既然写了有参的构造函数,编译器不会再给你提供无参的构造了,如果后面要调用无参的构造,要手动写上
    {
    super();
    } public Student(String name, int age, String school)// 构造方法不要加返回类型
    {
    super();
    this.school = school;
    this.name = name;
    this.age = age;
    } public void Display()
    {
    System.out.println("my name is " + this.name + "my age is " + this.age);
    }
    }public class TestExtends
    {
    public static void main(String[] args)
    {
    Student student = new Student();
    student.setSchool("tianhua");
    student.setName("john");
    student.setAge(22);
    student.Display();// 这里打印了my name is johnmy age is 22 Student sun = new Student();
    sun.setAge(22);
    System.out.println(sun.getAge());// 这里打印了22 Student student2 = new Student("wangwu", 22, "tianhuaxueyuan");
    student2.Display();// 这里打印了my name is wangwumy age is 22
    }
    }
      

  3.   

    构造错了,构造函数不能有任何表示返回值的东东
    我也是刚转学java,想去搞安卓开发,之前一直做c#的
      

  4.   

    谢谢谢谢,大神,万分感谢,那除了构造类不能够加void之外,是不是子类继承父类之后,在子类中还得再加上无参的父类呢?就是就是:
     public Student()// 既然写了有参的构造函数,编译器不会再给你提供无参的构造了,如果后面要调用无参的构造,要手动写上
        {
            super();
        }
    还有这个这个:
    public Student(String name, int age, String school)// 构造方法不要加返回类型
        {
            super();
    的super();呢?求教大神~~谢谢指导~~
      

  5.   

    在java继承中,如果要调用子类构造器,那么必须先要调用父类的构造器,如果父类没有写明构造方法,那么就调用父类的默认构造方法,而调用父类默认的构造方法就是用super()来完成,因此public Student(String name, int age, String school)// 构造方法不要加返回类型
       {
       super();
    }这样写是对的,而且必须要加上super();否则会失败,这是java内部语法限制,如果有继承就必须要注意这一点,这个其实可以手动加上,也可以用eclipse等工具自动生成,不过建议以后有继承的话,最好检查一下,没有的就手动加上,以免出错!
      

  6.   

    子类中是否添加无参的构造函数,取决于你后面的代码是否要直接用到此构造方法。在设计类的时候如果指定了一个带参数的构造方法,一般都会再写一个无参的构造方法,像Class类中的newInstance() 方法就会默认调用无参的构造函数。super关键字显示的调用了父类的无参构造方法,同样也可以指定参数调用父类的有参构造方法,同样也可以通过super关键字调用父类的属性,详细的用法你可以翻翻书。ps:java小菜一枚,大神不敢当!祝楼主学习进步!