接口_匿名内部类

接口

概述:规则 协议 规定

协议:协定、插座、usb插口、语言

接口的定义:

interface 接口名{

}

接口中的限定的内容:

方法的声明相关:返回值类型 方法名 参数列表;

接口中定义的方法都是抽象方法,没有具体的方法实现,也就是没有方法体

接口需要被具体的类实现,那么这个类就是接口的实现类。

实现类的格式:implements 接口名

对接口的实现,如果要实现其中的方法,就是对方法的重写

接口的特点:

1、实例化:接口不能用于创建对象,因为接口只用于定义规则,所以不需要被实例化

2、对接口的实现:当对接口进行实现后就需要实现类重写接口的方法,即使在接口中定义一个非抽象的方法,系统会默认给你定义的非抽象方法加上public abstract,接口中的方法都是抽象方法

3、实现类的前途:

(1)如果没有完全重写接口中的方法,那么这个类就必须是一个抽象类,不能去创建对象

(2)如果完全重写了接口的方法,就是一个普通类,可以创建对象

4、实现类在创建对象时要使用接口的引用指向实现类的对象,这样可以实现扩展性的优势,也实现了调用者和实现者的分离,双方都去面向接口

接口中成员的特点:

成员变量:接口中不能定义变量,因为接口不能创建对象,不会再堆内存中分配空间,即使可以定义也没有意义,如果再接口中定义了一个变量就会直接加上final的修饰变成常量

成员方法:接口中的成员方法只能定义抽象的成员方法会自动加上abstract的修饰

构造方法:接口中不能定义构造方法 因为没有需要赋值的成员。也不可以去创建对象。

类与类 类与接口 接口与接口直接的关系

类与类:

关系:继承

关键字:extends

当一个类继承类另外一个类,此时两个类就出现了子父类的关系;java中类的继承只能是单继承

类与接口

关系:实现

关键字:implement

实现类需要对接口的方法进行重写,也就是对接口的实现

接口是可以被多实现,不会出现安全隐患。

注意事项:当两个接口中的两个相同的抽象方法出现之后,返回值不同也会存在二义性,是接口本身的矛盾,这种情况也不能多实现

接口与接口之间

关系:继承

关键字:extends

接口可以多继承,也可以单继承,可以实现继承的嵌套

一个实现类可以去继承一个类,同时也可以实现多个接口

注意事项:接口和接口本身之间不能出现矛盾,接口和类之间不能出现矛盾

类和接口的选择:

总体原则:即使所有的方法都是抽象方法,但是这些功能都是这个主题的核心功能,那么这个主体最好声明成类

有些功能可有可无,或者能够被其他的主体所使用,那么这些功能就希望被定义再接口中

匿名内部类

含义:就是没有名称的内部类,跟普通的有名称的内部类对应

前提:匿名内部类必须要借助于父类或者接口去定义

定义格式: new 父类名(接口名){

}

注意事项:1、需要new父类或者接口的结构来声明匿名内部类;2、可以去创建对象,但是这个对象没有自身的引用,只能去指向父类或者接口的成员,也就无法调用自身的成员;3、编译阶段会给这个匿名内部类一个名称,也会给匿名内部类一个数字,这个数字就是它的编号

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值