类和子类中的Java Atribute

类和子类中的Java Atribute,java,class,attributes,subclass,Java,Class,Attributes,Subclass,我有一个子类MappaFermi和属性mappaName(从枚举中选择)的类Mappa 我试图用构造函数MappaFermi()编写一个测试,但似乎无法正确编写 public class Mappa { private Name mappaName; public Mappa (Name mappaName){ this.mappaName=mappaName; ... } } public class MappaFermi exten

我有一个子类MappaFermi和属性mappaName(从枚举中选择)的类Mappa

我试图用构造函数MappaFermi()编写一个测试,但似乎无法正确编写

public class Mappa {
    private Name mappaName;
    public Mappa (Name mappaName){
        this.mappaName=mappaName;
        ...

    }
}

public class MappaFermi extends Mappa {
    public MappaFermi(Name mappaName) {
        super(mappaName);
        }
    }

public enum Name {
 FERMI, GALILEI, GALVANI
}   
我尝试了eclipse给出的所有建议,但仍然得到了一个错误

    public class MappaFermiTest {
        @Test
            public void testMappaFermi() {
                Mappa mappa = new MappaFermi(Name.FERMI);
                assertNotNull(mappa);
            }

 @Test
            public void testMappaFermi() {
                Mappa mappa = new MappaFermi();
                assertNotNull(mappa);
            }
    }

如果要使用
新的MappaFermi()
,必须定义无参数构造函数。这是默认构造函数,任何没有其他构造函数的类都将隐式地拥有一个无参数构造函数。但是,只要使用参数定义构造函数,比如
Mappa(Name mappaName)
,no-arg默认构造函数就不再可用,必须显式定义

public MappaFermi() {
    super(null); // or whatever is a good 'default' name
}
另外,测试
assertNotNull(mappa)紧接着
Mappa Mappa=new MappaFermi(无论什么)
是毫无意义的,因为此时它不可能是空的。

这里有一些错误:

-同名的三种方法
testMappaFermi

测试可以在一个方法中完成,或者如果确实需要三个方法,可以重命名这些方法

-第二个测试写得不正确。什么是有效的:

Name mappaName = Name.FERMI;
Mappa mappa = new MappaFermi(mappaName);
-第三个测试使用
新的MappaFermi()
,没有定义无参数构造函数。
要在构造函数中放入参数,或编写无参数构造函数,如下所示:

public MappaFermi() {
    super(Name.FERMI);
}

错误是什么?只应编译第一个测试用例-但您还有3个同名的方法,这也表明存在问题。@user3707125构造函数是undefined@Zelldon不,我并没有同时写所有的,这只是为了展示我所做的,所以第一个案例应该是可行的。是否已导入枚举和其他类?