抽象类--接口

1:抽象类

    抽象类=普通类+抽象方法

    1.1抽象类是类

    1.2多了抽象方法,类必须是抽象类

    1.3抽象方法没有方法体。

    1.4抽象类必须有子类,必须实现所有的抽象方法。

    1.5抽象类不能实例化。

    1.6是类,仍旧满足多态特性,所以方法的参数使用抽象类父类的引用。

    在开发过程中,对于有些方法一定要实现,则会被此方法在父类中声明为抽象的方法,对于有些方法不一定实现,在抽象父类中声明成普通的方法,子类可以选择性的对父类中的普通方法进行重写来完成相应的逻辑。

例如:listener类observer观察者模式

代码 语法

代码映射出人类的注解

开发应用中

面试中

 

面向抽象编程,不面向具体编程。

抽象类的限制;

1:抽象类不能使用final关键字

2:抽象类虽然不能实例化,但是可以像普通类一样,拥有属性和构造方法,子类可以通过调用抽象类的构造方法来完成子类自己的构造。

 

接口

接口是抽象的抽象

Interface   user  interface

 

抽象类的不足;

1:类   单继承   单一

2:类中既有普通方法,又有抽象方法,杂乱

 

接口解决以上问题

接口特性:

1:接口不是类,但是存在.Java文件中编译之后也是会生成.class文件。

2:接口中只存在抽象方法,方法通常只写返回值类型,和方法名,可以省略public abstract

3:接口中只存在常量,默认是有public  final  修饰,常量名都用大写字母。

4:接口不能实例化。

5:使用定义好的接口,创建具体的类去实现接口(如果使用接口,就要实现接口中所有的抽象方法)

6:定义类某种功能,凡是要实现这一功能的类,都可以实现接口中定义的方法

7:接口感觉上实现类的多继承

8:接口也是属于功能上延伸

9:接口貌似是具体的父类,可以实现类的向上转型(把具体类的对象赋给接口的引用)

10:jdk 1.8 default   在接口修饰普通的方法

为了实现函数式编程   lambda  闭包closure

11:接口可以多继承

12:依照类的多态特性,如果方法的参数为接口的引用,传递的就是实现接口的类。

13:先继承父类后实现接口

普通类     抽象类     接口     关系

1:普通可以继承普通类,也可以继承抽象类,实现接口

2:抽象类可以继承普通类,可以继承抽象类,实现接口

3:接口只能继承接口

 

接口其实是一个标准,真正的开发过程中,接口文档(来源与需求,目的在于功能的描述)建立类前后端的联系。接口文档是一个doc文档。一般都是后端人员书写。

 

1:工厂模式factory   pattern

2:代理模式proxy   pattern

 

例如:1门中有防盗门,保险柜门,可以报警(alert接口),报警器可以报警,报警器分警车上报警器,烟雾报警器,根据不同对象调用的报警方法。

2:animal类  鸟类  会飞 

交通工具类   飞机   会飞

           无人机   会飞

3:研究游戏英雄中有没有具有相同的技能。来练习接口。

猜你喜欢

转载自blog.csdn.net/qq_38704184/article/details/81380861