java基础教程:类和接口

接口FAQ

  • 接口能不能继承接口
    能。大胆的写接口继承,因为这比类继承更为优雅。面向对象的一个原则就是使用组合替代继承,但是接口继承不在此列。

  • 接口内部能不能写实现
    能。但是仅限于JAVA8以后。

interface I {
    default void f() {
        System.out.println("Hello World");
    }
}
  • 接口中能不能有内部类
    可以。事实上JAVA8以前为接口提供内部实现就是这样做的。
interface I {
    void f();

    class DefaultImpl implements I {
        @Override
        public void f() {
            System.out.println("Hello World");
        }
    }

    I defaultImpl = new DefaultImpl();
}

class A implements I {
    @Override
    public void f() {
        defaultImpl.f();
    }
}
  • 接口能不能有成员?

不能有实例成员,但是可以有public final static的成员(当然这三个你可以一个都不写)。因为类可以实现多个接口,如果接口的静态成员名称一样,在你使用时编译器就会报错的。

  • 接口和抽象类的本质区别?
    接口和抽象类的表面区别就是类只能单继承,而接口可以多继承。当你关注一个操作时,请使用接口。当你关注一个对象的本质时,请使用抽象类。

类FAQ

  • 文件和类
    一个JAVA文件至多包含一个public的顶级类。这个类必须和文件名相同。其他类必须是default权限。其他顶级类的必须是defalt的。

  • super

猜你喜欢

转载自blog.csdn.net/define_us/article/details/80277943