面向对象之接口(interface)_Java10

01_接口概述(interface)

  • A:接口概述
    • 对外提供规则的都是接口
  • B:接口特点
    • a:接口中的方法都是抽象的
    • b:接口用关键字interface表示
      • interface 接口名 { }
    • c:类实现接口用implements表示
      • class 类名 implements 接口名 { }
    • d:接口不能实例化
      • 那么,接口如何实例化呢?
      • 按照多态的方式来实例化
    • e:接口的子类
      • a:可以是抽象类,但是意义不大
      • b:可以是具体类,要重写接口中的所有抽象方法(推荐)

02_接口的子类

接口的子类可以是抽象类,也可以是具体类

  • 接口的子类可以是抽象类
interface Inter{
	public abstract void print();	//接口中的方法都是抽象的
}

abstract class Demo implements Inter{
}

03_接口的成员特点

  • 成员变量:只能是常量,并且是静态的并公共的
    • 默认修饰符:public static final
  • 构造方法:接口没有构造方法
  • 成员方法:只能是抽象方法
    • 默认修饰符:public abstract
  • 接口中所有的变量与方法都是 public的,因为要被实现和重写
  • 成员变量

接口中定义的变量只能是常量final修饰,如(final num = 10),实现该接口的类,不能重新定义该变量num,因为是常量final修饰,就算接口中不写final,系统也会自动添加

接口中的变量自动修饰为public static final, 自动添加静态,可以类名.调用

  • 构造方法
    接口中没有构造方法,不能写构造方法
  • 成员方法
    接口中只能定义抽象方法,系统默认方法前自动添加 public abstract,所以实现接口的类,重写该方法时,也必须写public,保持权限一致

04_类与类,类与接口,接口与接口的关系

  • A:类与类,类与接口,接口与接口的关系
    • a:类与类
      • 继承关系,只能单继承,可以多层继承
    • b:类与接口(类可以同时实现多个接口)
      • 实现关系,可以单实现,也可以多实现
      • 并且还可以在继承一个类的同时,实现多个接口
    • c:接口与接口
      • 继承关系,可以单继承,也可以多继承
  • 示例:类与接口(类可以同时实现多个接口)
class Demo1_Interface{
	public static void main(String[] args){
		Demo d = new Demo();
		d.printA();
		d.printB();
	}
}

interface InterA{
	public abstract void printA();
}

interface InterB{
	public abstract void printB();
}

//class Demo implements InterA implements InterB不能这么写,implements只能写一次
class Demo implements InterA, InterB{
	public void printA(){
		System.out.println("printA");
	};
	public void printB(){
		System.out.println("printB");
	};	
}
  • 示例:接口与接口 (可以单继承,也可以多继承)
interface InterA{
	public abstract void printA();
}

interface InterB{
	public abstract void printB();
}

interface InterC extends InterA, InterB {
}
  • 示例:类与接口 (可以在继承一个类的同时,实现多个接口)

interface InterA{
	public abstract void printA();
}

interface InterB{
	public abstract void printB();
}

class Demo extends Object implements InterA, InterB{
	public void printA(){
		System.out.println("printA");
	};
	public void printB(){
		System.out.println("printB");
	};	
}

05_抽象类和接口的区别

  • A:成员区别
    • 抽象类
      • 成员变量:可以变量,也可以常量
      • 构造方法:有
      • 成员方法:可以抽象,也可以非抽象
    • 接口
      • 成员变量:只可以常量
      • 成员方法:只可以抽象
  • B:关系区别
    • 类与类
      • 类与类为继承关系,单继承,可以是多层继承
    • 类与接口
      • 类实现接口,可以是单实现,也可以多实现
        • 因为接口没有方法实体,都是抽象的,所以可以多实现
    • 接口与接口
      • 接口继承接口,可以单继承,也可以多继承
        • 因为接口没有方法实体,都是抽象的,所以可以多继承
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值