Java 接口 续

接口中只能定义常量和抽象方法

        接口中只能定义公共常量,接口中的属性默认是public static final类型的,必须是public static final 类型的   

interface IA{
    String name="abc";//这里实际上是常量定义,不是属性,它的限定词是public
   //static final String name="abc"; 必须在声明的同时进行赋值
} 

        接口中只能定义公共的抽象方法, 只有在JDK1.8+中可以使用default关键字定义方法实现。接口中 的方法默认是public abstract类型的,而且必须是public abstract类型的。只有在JDK1.8+中可以 使用default关键字定义方法默认实现,同时允许在实现类中覆盖重新定义

        接口不能被实例化,只能通过实现类所实现,但可以用于声明变量的类型。

        接口没有构造函数;

        接口中的抽象方法必须在非抽象子类中提供实现,这个实现可以是继承来的

interface IA2 {
    public void pp();

}
class A2 {
    public void pp() {

    }
}

class B2 extends A2 implements IA2 { 
    //这里的pp方法的实现是从父类中继承来的
}

一个类实现接口的语法

class 类名称 implements 接口名称{ }

接口抽象方法的默认修饰符为public,在实现接口时必须用public关键字在方法头上说明   

interface IA2{
    void pp();
}
class B2 implements IA2{
    void pp(){ //语法报错,因为IA2接口中的方法为public abstract
    }
}

一个接口可以被多个子类实现。一个子类还可以实现多个接口

类实现接口

        一个类在实现某个接口的抽象方法时,必须使用完全相同的方法头 public

        如果一个类实现多个接口,用逗号隔开

        如果一个类实现了声明相同方法的两个接口,则被多个接口共用

        类在实现接口时可以定义它自己的附加成员,这也是最常见的形式

        如果一个类不完全实现接口的所有方法,必须把类定义成abstract类型的类,任何继承该类的子类 必须实现该接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值