JavaSE基础-02-接口

来源:互联网 发布:mac 制作启动u盘 编辑:程序博客网 时间:2024/05/21 18:47

一.抽象类:

抽象类和一般类没有太大的区别,都是在描述事物,只不过抽象类在描述事物时,有些功能不具体,所以没有实现,需要子类进行实现。

1.1 abstract关键字

abstract修饰符用来修饰方法和类,用来定义抽象方法和抽象类,不能用来修饰变量

1.2 抽象类的特点

1)抽象方法只能定义在抽象类中
2)抽象方法只有方法声明,没有方法实现(即方法体中没有代码)
3)抽象类不可以用来创建对象(实例化)
4)只有通过子类继承抽象类并覆盖了抽象类中的所有抽象方法后,该子类才可以实例化,否则,该子类还是一个抽象类
5)抽象类中有构造函数,用于给子类对象进行初始化
6)抽象类中可以定义非抽象方法
7)抽象关键字abstract和final , private , static 三个关键字不能共存
8)抽象类中可以没有抽象方法,抽象方法目的仅仅为了不让该类创建对象

二.接口

2.1 接口的概念

用关键字interface定义,一般用于给实现自己的对象定义扩展功能。接口中最常见的成员有全局常量、抽象方法。接口中的成员都有固定的修饰符。成员变量:public static final,成员方法:public abstract。

interface Inter{    public static final int x = 3;    public abstract void show();}

2.2 接口的实例化

接口中有抽象方法,说明接口不可以实例化。接口的子类必须实现了接口中所有的抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。

2.3 接口与类之间的实现关系

类与类之间存在着继承关系,类与接口中间存在的是实现关系。继承用extends关键字,实现用implements关键字,实现了接口的类必须重写接口中的所有方法

2.4 接口的多实现

接口可以被多实现,Java通过多实现来弥补不支持多继承的缺陷。一个类在继承一个父类的同时,还可以实现多个接口,通过实现多个接口来实现更多功能的扩展,避免了单继承的局限性

三.面向对象特点——多态

一个接口可以有多个不同的实现类,每个实现类都重写了接口中的方法,多态即一个事物有多种不同的实现。多态在程序中的使用提高了程序的扩展性。
一个简单的体现多态的例子:父类引用或者接口的引用指向了自己的子类对对象

//动物有很多种,猫是其中一种Animal a = new Cat();

多态的出现对编程思想的改变:有多态之前是创建对象并操作单个对象。有了多态以后,可以通过操作抽取类型(即顶级父类或顶级接口),操作一批对象。