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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值