java中的抽象类接口[关闭]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中的抽象类接口[关闭]相关的知识,希望对你有一定的参考价值。

我是Java的新手并尝试实现此代码,但我收到了一个错误。

B.Java

public interface A{

    class B; // !!getting error here

    B f(); // f returns B class

    }

C.Java

public class C implements A{


public class B{
  private int a;
  public void print(){
   System.out.println(a);
   }

} // end of implementation of class B

B f(){
   System.out.println("default ");
}

} // end of class C

我做错了什么,如何在不出错的情况下实现此代码?

答案

使用Java-Generics实现怎么样?

public interface A<T> {
    T f();
}

这样,接口根本不需要包含类定义。您可以在实现(或您想要的其他位置)完全声明该类;

public class C implements A<C.B> {
    public class B {
        private int a;
        public void print(){
            System.out.println(a);
        }
    }

    @Override
    public B f() {
        return new B();
    }
}

以上是关于java中的抽象类接口[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Java中的接口和抽象类

分清java中的接口和抽象类

java接口与抽象方法区别

java 抽象类和接口的差别

java随笔:浅谈抽象类与接口

Java基础:抽象类和接口