第九章 接口

9.1 抽象类和抽象方法

抽象类:通用接口建立起一种基本形式,以此表示所有导出类的共同部分(抽取导出类的共同的特征)。

抽象类的形式: public class abstract Demo{   }
抽象方法的形式:public abstract void method(();
1.包含抽象方法的类是抽象类。
2.当一个类继承抽象类时,如果不全部定义抽象基类的全部抽象方法,那么该类也是属于一个抽象类,编译器会强制用abstract关键之来限定该类。
3.一个抽象类可以没有任何抽象方法,这么做也许只仅仅是为了不让创建该类的对象。
4.抽象类无法创建对象。

9.2 接口

接口类的形式:public interface Demo{  }
实现接口形式:public class Test implements Demo{  }
1.使用interface修饰的类是一个完全抽象的类,接口只提供形式,不提供任何具体实现(所有的方法都是默认为抽象的)。
2.接口中的域都是默认为static和final的。
3.接口中的方法权限必须为public,并且默认就是public权限。
4.接口被用来建立类域类之间的协议。
5.一个类可以实现多个接口。

9.4 Java中的多重继承

1.当一个类继承另外一个类并且实现一个接口,当继承的类中的有方法签名跟接口的方法签名是一样时,该类可以不用实现接口中签名与继承类中方法签名相同的方法。

使用接口的原因:①为了能够向上转型为多个基类型。②防止创建该类的对象,并确保这仅仅只是一个接口

使用抽象类还是接口呢(参考)?
当抽取类的共同特征时,并且该类应该成为基类,应该使用的是抽象类。
当仅仅作为类的扩展功能,给类附加其他特征时,应该使用的是接口。

9.5 通过继承来扩展接口

1.通过接口继承另外一个接口,可以组合成一个新的接口。
2.接口可以继承多个接口。

接口继承接口:
public interface A{

	public static void  methodA();
}

public interface B extends A{

	public static void methodB();
}

接口继承多个接口:
public interface C{

	public static void methodC();
}

public interface D extends B,C{

	public static void methodD();
}

public class E implements D{
    //实现接口A、B、C、D中的方法
    public void methodA(){}
    public void methodB(){}
    public void methodC(){}
    public void methodD(){}
}

9.7 接口中的域

1.接口中的任何域都是自动static和final的,并且默认是public权限。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值