package Lab4;public class Person2 
{
String  name;
    int age; 
    static int num;
    void Person2(String name,int age)
    {
     this.age=age;
     this.name=name;
     num++;
    }
    void print()
    {
     System.out.println("name="+name+" , age="+age+", num="+num);
    }
}
class Student2 extends Person2
{

    static int studentnum;
    Student2(String name,int age)
    {
     super(name,age);// 这里出错,考虑了半天,原因还未找出,出错提示:The constructor Person2(String, int) is undefined  究竟是什么原因啊!!!
     studentnum++;
    }
    void print()
    {
     System.out.println("name="+name+", age="+age+", studentnum="+studentnum+", num="+num);
    }
}
各位前辈,帮帮忙,就是上边标出的那个简单问题.谢谢了.

解决方案 »

  1.   

    很简单的问题啊 Student2的父类没有定义(String name,int age)的构造方法啊。
    Person2类的下面的void Person2(String name,int age)方法改成public Person2(String name,int age)就好了
      

  2.   

    void Person2(String name,int age)多了一个void,构造函数没有返回类型
      

  3.   

    package Lab4;public class Person2 
    {
        String  name;
        int age; 
        static int num;
        void Person2(String name,int age)//这里错了,看看构造方法的定义,又返回类型吗?可以是void吗?
        {
            this.age=age;
            this.name=name;
            num++;
        }
        void print()
        {
            System.out.println("name="+name+" , age="+age+", num="+num);
        }    
    }
    class Student2 extends Person2
    {
        
        static int studentnum;
        Student2(String name,int age)
        {
            super(name,age);// 这里出错,考虑了半天,原因还未找出,出错提示:The constructor Person2(String, int) is undefined  究竟是什么原因啊!!!
            studentnum++;
        }
        void print()
        {
            System.out.println("name="+name+", age="+age+", studentnum="+studentnum+", num="+num);
        }    
    }看你父类的构造方法的返回值定义
      

  4.   

    因为你的Person2的构造方法有问题!下面是我改过的。希望对你有用!public class Person2 
    {
        String  name;
        int age; 
        static int num;
        public Person2(String name,int age)
        {
            this.age=age;
            this.name=name;
            num++;
        }
        void print()
        {
            System.out.println("name="+name+" , age="+age+", num="+num);
        }    
    }
    class Student2 extends Person2
    {
        
        static int studentnum;
        Student2(String name,int age)
        {
            super(name,age);// 这里出错,考虑了半天,原因还未找出,出错提示:The constructor Person2(String, int) is undefined  究竟是什么原因啊!!!
            studentnum++;
        }
        void print()
        {
            System.out.println("name="+name+", age="+age+", studentnum="+studentnum+", num="+num);
        }    
    }
      

  5.   


    //多了一个void
    //这不是构造方法了,只是 Person2类的一个普通方法,而方法名字恰好和类名一样而已。
    //可以通过  new Person2().Person2("123",12);  这样调用。
    void Person2(String name,int age)
      

  6.   

    void Person2(String name,int age)
        {
            this.age=age;
            this.name=name;
            num++;
        }
    改为
    public Person2(String name,int age)
        {
            this.age=age;
            this.name=name;
            num++;
        }