Java内容梳理(11)抽象类和接口

抽象类

(1)什么是抽象类

使用abstract关键字对类进行修饰,这样的类我们称为抽象类

abstract class Animal{

public abstract void jiao();//抽象方法放到抽象类或接口中

//有抽象方法的类一定是抽象类

}

(2)抽象类的特点

a.抽象类也是类

b.抽象类不能创建(new)对象

c.抽象类中可以有抽象方法

d.抽象类可以继承具体类或抽象类

当子类继承抽象类时:

该子类必须实现(不叫重写)抽象父类(包括祖先类)中的所有抽象方法;

若子类未实现父类(包括祖先类)的所有抽象方法,则该子类就必须也是抽象类;

public class Dog extends Animal{

public void jiao(){ //实现父类的抽象方法,不能有abstract

System.out,println("汪汪汪");

}

}

(3)抽象类的作用

a.衔接两段程序

b.模板编程

接口

(1)什么是接口

接口也是一种引用类型,不是类(类也是一种引用类型)

public interface SATA{

}

(2)接口的成员

a.静态常量(默认带public static final;必须要初始化)

必须带static 的原因是接口不可以被实例化,"属性"必须设置成静态的,在加载的时候就能被

加载出来;其它"子类"对象才能使用它。

b.抽象方法(默认带public abstract)

(3)接口的实现implements

1、class NanShenDengPao implements DengPao{}

2、class A implements B,C,D,N{}

3、一旦一个类A实现了某个接口B,A类型则为B类型的子类型;因此我们可以用B类型的引用指向

子类型的对象B,从而构成了多态的前提。

(4)接口的继承

接口与接口之间可以有继承关系(接口可以多继承)

interface A extends B,C,D,N{}

注:

Java中类与类之间只能单继承:一个类只能有一个父类

(5)接口的作用

体现了规范思想

定义规范来隔离两个组件,利用多态的功能,实现了降低程序耦合度;耦合度越低程序的可维护性就越高。

(耦合度:组件之间结合的紧密程度,越低越好)

接口和抽象类的区别

(a)各自的语法区别

(b)从软件设计角度:抽象类体现了模板思想,而接口则定义了规范约束。

猜你喜欢

转载自blog.csdn.net/Carl_changxin/article/details/82729100