Java:与子类的接口

Java:与子类的接口,java,Java,我正在使用一个带有子类的接口。我没有收到任何错误: 标记“{”上的语法错误,此标记后面应为{” 这条线上有多个标记 -方法断点:TestSubClass[entry]- doSomething(字符串) -令牌“,”上出现语法错误;应为 -标记“(”,)上出现语法错误;应为 -实现TestInterface.doSomething 语法错误,插入“}”以完成类正文 从我的代码中,我认为我已经实现了一切。这是一个额外的},我不知道为什么。我已经正确地调用了super(),但doSomething方

我正在使用一个带有子类的接口。我没有收到任何错误:

标记“{”上的语法错误,此标记后面应为{” 这条线上有多个标记 -方法断点:TestSubClass[entry]- doSomething(字符串) -令牌“,”上出现语法错误;应为 -标记“(”,)上出现语法错误;应为 -实现TestInterface.doSomething 语法错误,插入“}”以完成类正文

从我的代码中,我认为我已经实现了一切。这是一个额外的
}
,我不知道为什么。我已经正确地调用了
super()
,但doSomething方法仍然存在错误。有什么提示吗

public interface TestInterface {    
   public void doSomething (String text);    
} 

public class TestBaseClass { 

    private String name;     

    public TestBaseClass() {

    }       

    public TestBaseClass(String name){

    }

    public String getName() {
        return name;    
    }

    public void setName(String name) {
        this.name = name;   
    } 
} 

public class TestSubClass extends TestBaseClass implements TestInterface {  

    super(name);    

    public void doSomething (String text){

    } 
}
super(name);
不能单独存在于
TestSubClass
中。构造函数在哪里

public class TestSubClass extends TestBaseClass implements TestInterface{   
    //This should be called inside a constructor 
    super(name);


    //Ok here 
    public void doSomething (String text){} 
}
这样做:

public class TestSubClass extends TestBaseClass implements TestInterface{   
    public TestSubClass (){ 
       super(name);
    }

    public void doSomething (String text){} 
}

你不能只在类中调用
super(name);
,它必须在构造函数内部。

正如@Kayaman所暗示的,你需要一个构造函数定义来委托给超类的构造函数:

public class TestSubClass extends TestBaseClass implements TestInterface{   

  public TestSubClass(String name){
       super(name); 

  }


public void doSomething (String text){
} 
}

从正确缩进代码开始,这将使代码更加清晰。
public class TestSubClass extends TestBaseClass implements TestInterface{   

  public TestSubClass(String name){
       super(name); 

  }


public void doSomething (String text){
} 
}