试图将一个类扩展到另一个类

时间:2017-11-08 09:38:56

标签: java class

目前我有一个名为Humane32的工作班,我想用这个扩展我的班级Fysikere42,我在人类,年龄和名字上有2个参数,在Fysikere42上还有一个参数。 Humane32类目前看起来像这样:

import java.util.List;
import java.util.Arrays;
import java.util.Random;
import java.util.ArrayList;

public class Humane32{
    public static class Human{
        private static final List<String> names = Arrays.asList("Rutger","Oscar","Aram","Noak","Hilda","Dahl");
        public Random rand=new Random();
        public String name;
        public int age;

        public Human(int age, String name){
            this.age=age;
            this.name=name;

        }
        public Human(){
            this.age=rand.nextInt(101);
            this.name=names.get(rand.nextInt(names.size()));
        }

        public String getName(){
            return this.name;
        }
        public int getAge(){
            return this.age;
        }
        public String toString(){
            return "åldern är:"+this.age+"\n"+"namnet är:"+this.name;
        }

    }
    public static void main(String[] args){
        ArrayList<Human> humaner=new ArrayList<Human>();
        int q;
        for (q=0;q<=15;q++){
            humaner.add(new Human());
            System.out.println(humaner.get(q).toString());
        }

    }
}

我的新班级目前看起来像这样:

import java.util.List;
import java.util.Arrays;
import java.util.Random;
import java.util.ArrayList;

public class Fysikere42 extends Humane32{
    public static class Fysikerere42{
        public int year;

        public Fysikere42(int age, String name,int year){
            this.age=age;
            this.name=name;
            this.year=year;

        }
        public int getYear(){
            return this.year;
        }
    }
    public static void main(String[] args){
        System.out.println("hej");
    }
}

但是我收到了错误消息,&#34;无效的方法声明,需要返回类型&#34;。它出了什么问题?

1 个答案:

答案 0 :(得分:1)

您在静态内部类Fysikere42中定义Fysikerere42的构造函数,因为名称不匹配,因此不会将其作为Fysikerere42的构造函数读取,因此它要求这种方法的返回类型。 (因为构造函数方法不具有返回类型,但它不认为这是构造函数。)

将构造函数的名称更改为Fysikerere42

public class Fysikere42 extends Humane32{
    public static class Fysikerere42{
        public int year;

        public Fysikerere42(int age, String name,int year){
            this.age=age;
            this.name=name;
            this.year=year;

        }