抽象类和接口

in 编程
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

抽象类

关键字abstract。

例子:

Class abstract animal(){

       public abstract void eat();

       void init(){}

}

抽象方法:只有方法名称,不具体实现细节。

抽象类:抽象方法存在的类,必须是抽象类。

 

注意

1.不能直接创建(new)抽象类对象

2.抽象类中不一定包含抽象方法,抽象方法一定在抽象类中

3.必须用一个子类继承抽象类,子类必须重新覆写抽象类的所有抽象方法,否则编译不通过,或者该子类也为抽象类

 

接口

关键字:interface(声明接口),implements(实现类)

成员:抽象方法(public abstract 方法)+常量(public static final 数据类型)

注意:

1.变量均为常量,变量必须赋值

 

使用步骤:

1.接口无法直接使用,必须有实现类才能使用

2.接口的实现类必须覆写所有接口中的所有方法

3.创建实现类的对象

 

Java新特性1——接口中的默认方法:解决接口升级问题

格式:public default 返回值类型 方法名称(参数列表){}

1.接口中的默认方法使用实现类进行调用

2.接口中的默认方法可以被覆盖重写

 

Java新特性2——接口中允许定义静态方法

格式:public  static 返回值类型 方法名称(参数列表){}

用法:只能通过接口.静态方法调用,不能通过(实现类.接口静态方法)进行调用

 

Java新特性3——接口中使用私有方法:只能在接口内使用

普通私有方法::解决接口中多个默认方法之间重复代码问题

格式:private    返回值类型    方法名  (参数列表){}

静态私有方法:解决接口中多个静态方法之间重复代码问题

格式:private   static  返回值类型    方法名  (参数列表){}

 

 

接口和抽象类的区别:

1.关键字不同,接口(interface)需要实现(implements),抽象类(abstract)需要继承(extend)

2.接口只能做方法声明,抽象类既可以方法声明,也可以方法实现

3.接口中定义的变量只能是公共的静态变量,抽象类的变量是普通变量

4.接口可以多实现,而抽象类只能单继承

 

 

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看