Java 接口篇

为什么使用接口?

问题

  要求实现防盗门的功能

分析

  • 门有开和关的功能,锁有上锁和开锁的功能
  • 将门和锁分别定义为抽奖类

  那么问题就是防盗门即继承了门的同时又继承了锁,而Java的继承是单继承,接口可多继承

解决

  • 将门定义为抽奖类,锁定义为接口
  • 防盗门继承门,实现锁的接口
  • 解决了多继承,更好的使用多态

什么是接口?

  Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现

  因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

如何使用接口?

  [ public ]   interface   接口名   [ extends   超接口表 ]   {    接口体   }

  接口是一种只由常量定义和抽象方法组成的特殊类。

  接口体中的内容是一系列常量的定义和方法的定义,不提供方法的实现(即没有方法体),用分号结尾。

  接口的所有变量都默认是final   static属性,所有的方法都是public  adstract属性。

  如果一个类要实现某个接口,必须实现接口的所有方法。

面向接口编程

  1. 定义Door抽象类:具有开门,关门的功能
  2. 定义Lock接口:具备上锁,开锁的能力
  3. 编写TheftproofDoor类:继承类实现接口
  4. 编写测试类:让防盗门关门,上锁,开锁,开门
package javaTest4;
//抽象类 门
abstract class  Door{
	public abstract void open();
	public abstract void close();
}
//接口:锁
interface  Lock{
	int i=1;   //都是静态常量
	public  void  lock();  //都是抽象方法
	public  void unlock();
}
//接口 照相机
interface Crama{
	public  void takePhotos();
}
//防盗门类
class FDoor  extends Door  implements Lock,Crama{

	@Override
	public void open() {
		System.out.println("开门");		
	}

	@Override
	public void close() {
		System.out.println("关门");	
	}

	@Override
	public void lock() {
		System.out.println("上锁");	
	}

	@Override
	public void unlock() {
		System.out.println("开锁");	
	}

	@Override
	public void takePhotos() {
		System.out.println("开门时,拍照");
	}
}
public class test5 {

	public static void main(String[] args) {
		FDoor  fd=new  FDoor();		
		fd.close();
		fd.lock();
		fd.unlock();
		fd.open();
		fd.takePhotos();
	}

}

 必须知道的接口特性

  • 接口不可以被实例化,常作为类型使用
  • 接口是一种特殊的抽象类
  • 实现类必须实现接口的所有方法
  • 实现类可以实现多个接口(Java中的多继承)
  • 接口中的变量都是静态常量
  • 接口默认是public      

 

转载于:https://www.cnblogs.com/wysk/p/7665861.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值