Java学习回忆录-基础理论-012

61 篇文章 0 订阅
48 篇文章 1 订阅

Java学习回忆录-基础理论-012

接口

概述:  从狭义的角度讲是指java中的interface
        从广义的角度讲是对外提供规则的都是接口
        
语法:class 类名 implements 接口名{}        

接口特点:

1. 声明接口
	interface 
2. 接口不能创建对象. 
	但是可以以多态的形式创建. 
	接口类型  = 接口的实现类对象. 
3. 类和接口.是实现的关系
	注意,类不是去继承接口,而是实现.implements 
4. 类实现接口
	1. 类实现了一个接口,要重写接口中的所有方法(接口中的方法,全部是公共抽象方法)
	2. 类实现类一个接口, 类如果不想重写接口中的方法,类可以声明为抽象类(抽象类中允许有抽象方法)

接口成员的特点:

1. 成员变量
	1. 公共静态常量 public static final 修饰的. 
2. 成员方法
	公共抽象方法 public abstract 修饰的. 
3. 构造方法
	接口中没有构造方法.

接口内部内容的定义

成员变量:只能是常量,并且是静态的、公共的
    默认修饰符:public static final ,三个关键字可以互换位置,修饰符是默认给出的,可以不写
构造方法:接口没有构造方法,继承的类不会访问接口,
          一个没有继承的任何类的子类,默认继承Object类
成员方法:只能是抽象方法
    默认修饰符:public abstract
    建议:这个自己手动给出

类与类、类与接口、接口与接口的关系

类与类: 继承关系(extends),只能单继承,可以多层继承
		is a 的特点,Cat extends Animal 就是继承.
		注意: java 只支持单继承,一个子类只能有一个父类(只能有一个爹)
		java 不支持多继承,但是可以多层继承(继承体系)
		
类与接口:实现关系(implements),可以单实现,也可以多实现
          并且还可以在继承一个类的同时实现多个接口
        注意:java 不支持多继承,但是java 支持多实现.
接口与接口:继承关系(extends),可以单继承,也可以多继承。
	注意. 接口可以继承多个接口,只有在接口这里,java 才支持多继承. 这是特例.

抽象类和接口的区别

1. 成员区别
    抽象类:
        成员变量:可以变量,也可以是常量	->给子类使用
        构造方法:有					   ->给子类使用
        成员方法:可以抽象,也可以非抽象	->给子类使用
        	抽象的成分比较复杂,什么都可以有. 
		结论: 一个类中一旦存在抽象方法,那么这个类必须是抽象类.
	 		 反过来, 一个类是抽象类,这个类中不一定要有抽象方法。
    接口
        成员变量:只可以是常量,public static final
        构造方法:接口不能有构造方法.
        成员方法:只可以抽象,public abstract 
        
2. 关系区别
    类与类:
        继承、单继承
    类与接口:
        实现,单实现,多实现
    接口与接口
        继承,单继承,多继承
3.设计理念区别
    抽象类: 被继承体现的是: is a 的关系,抽象类中定义的是该继承体系的共性功能
    	理念: 继承提高了代码复用性.
		     将共性的代码放在了父类. 父类无法确定具体的行为,就将行为设置为抽象的. 有子类去继承并重写. 
    接口:被实现体现的是: like a 的关系,接口中定义的是该继承体系的扩展功能
    	理念: 对类进行功能的扩展.
4. 语法不同.
	抽象类:class abstract  抽象类名
	接口:interface 接口名
5. 使用方式不同.
	抽象类,是由子类去继承(extends)抽象类,并重写抽象方法(如果有)
		一个子类只能继承一个父类
 	接口, 是有实现类实现(implements)接口,并重写接口中的所有方法. 
		一个类可以实现多个接口. 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值